require 'default.rb'
require 'soap/mapping'

module DefaultMappingRegistry
  EncodedRegistry = ::SOAP::Mapping::EncodedRegistry.new
  LiteralRegistry = ::SOAP::Mapping::LiteralRegistry.new
  NsFaultPartnerExacttargetCom = "urn:fault.partner.exacttarget.com"
  NsPartnerAPI = "http://exacttarget.com/wsdl/partnerAPI"

  EncodedRegistry.register(
    :class => APIObject,
    :schema_type => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ClientID,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ClientID"),
    :schema_element => [
      ["clientID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ClientID")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["partnerClientKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerClientKey")], [0, 1]],
      ["userID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UserID")], [0, 1]],
      ["partnerUserKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerUserKey")], [0, 1]],
      ["createdBy", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CreatedBy")], [0, 1]],
      ["modifiedBy", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ModifiedBy")], [0, 1]],
      ["enterpriseID", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "EnterpriseID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => APIProperty,
    :schema_type => XSD::QName.new(NsPartnerAPI, "APIProperty"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]]
    ]
  )

  EncodedRegistry.register(
    :class => NullAPIProperty,
    :schema_type => XSD::QName.new(NsPartnerAPI, "NullAPIProperty"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIProperty"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]]
    ]
  )

  EncodedRegistry.register(
    :class => Owner,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Owner"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => AsyncResponse,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AsyncResponse"),
    :schema_element => [
      ["responseType", ["AsyncResponseType", XSD::QName.new(NsPartnerAPI, "ResponseType")]],
      ["responseAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResponseAddress")]],
      ["respondWhen", ["RespondWhen", XSD::QName.new(NsPartnerAPI, "RespondWhen")], [0, 1]],
      ["includeResults", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IncludeResults")], [0, 1]],
      ["includeObjects", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IncludeObjects")], [0, 1]],
      ["onlyIncludeBase", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "OnlyIncludeBase")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ContainerID,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ContainerID"),
    :schema_element => [
      ["aPIObject", ["APIObject", XSD::QName.new(NsPartnerAPI, "APIObject")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Result,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ResultMessage,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ResultMessage"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")], [0, 1]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ResultItem,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ResultItem"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["requestObjectType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestObjectType")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => TaskResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TaskResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["iD", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SaveOption,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SaveOption"),
    :schema_element => [
      ["propertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PropertyName")]],
      ["saveAction", ["SaveAction", XSD::QName.new(NsPartnerAPI, "SaveAction")]]
    ]
  )

  EncodedRegistry.register(
    :class => CreateResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "CreateResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["newID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NewID")]],
      ["newObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NewObjectID")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")], [0, 1]],
      ["createResults", ["CreateResult[]", XSD::QName.new(NsPartnerAPI, "CreateResults")], [0, nil]],
      ["parentPropertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentPropertyName")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => CreateOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "CreateOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["CreateOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["container", ["ContainerID", XSD::QName.new(NsPartnerAPI, "Container")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => CreateOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => UpdateOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UpdateOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["UpdateOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["container", ["ContainerID", XSD::QName.new(NsPartnerAPI, "Container")], [0, 1]],
      ["action", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => UpdateOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => UpdateResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UpdateResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["updateResults", ["UpdateResult[]", XSD::QName.new(NsPartnerAPI, "UpdateResults")], [0, nil]],
      ["parentPropertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentPropertyName")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DeleteOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DeleteOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["DeleteOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DeleteOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => DeleteResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DeleteResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]]
    ]
  )

  EncodedRegistry.register(
    :class => RetrieveRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RetrieveRequest"),
    :schema_element => [
      ["clientIDs", ["ClientID[]", XSD::QName.new(NsPartnerAPI, "ClientIDs")], [0, nil]],
      ["objectType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectType")]],
      ["properties", ["SOAP::SOAPString[]", XSD::QName.new(NsPartnerAPI, "Properties")], [0, nil]],
      ["filter", ["FilterPart", XSD::QName.new(NsPartnerAPI, "Filter")], [0, 1]],
      ["respondTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "RespondTo")], [0, nil]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["continueRequest", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ContinueRequest")], [0, 1]],
      ["queryAllAccounts", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "QueryAllAccounts")], [0, 1]],
      ["retrieveAllSinceLastBatch", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "RetrieveAllSinceLastBatch")], [0, 1]],
      ["repeatLastResult", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "RepeatLastResult")], [0, 1]],
      ["retrieves", ["RetrieveRequest::Retrieves", XSD::QName.new(NsPartnerAPI, "Retrieves")], [0, 1]],
      ["options", ["RetrieveOptions", XSD::QName.new(NsPartnerAPI, "Options")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => RetrieveRequest::Retrieves,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Retrieves"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["request", ["Request[]", XSD::QName.new(NsPartnerAPI, "Request")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => RetrieveSingleRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RetrieveSingleRequest"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Request"),
    :schema_element => [
      ["requestedObject", ["APIObject", XSD::QName.new(NsPartnerAPI, "RequestedObject")]],
      ["retrieveOption", ["Options", XSD::QName.new(NsPartnerAPI, "RetrieveOption")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Parameters,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Parameters"),
    :schema_element => [
      ["parameter", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Parameter")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => RetrieveSingleOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RetrieveSingleOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["RetrieveSingleOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["parameters", ["Parameters", XSD::QName.new(NsPartnerAPI, "Parameters")]]
    ]
  )

  EncodedRegistry.register(
    :class => RetrieveSingleOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => RetrieveOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RetrieveOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["RetrieveOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["batchSize", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchSize")], [0, 1]],
      ["includeObjects", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IncludeObjects")], [0, 1]],
      ["onlyIncludeBase", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "OnlyIncludeBase")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => RetrieveOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => QueryRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "QueryRequest"),
    :schema_element => [
      ["clientIDs", ["ClientID[]", XSD::QName.new(NsPartnerAPI, "ClientIDs")], [0, nil]],
      ["query", ["Query", XSD::QName.new(NsPartnerAPI, "Query")]],
      ["respondTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "RespondTo")], [0, nil]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["continueRequest", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ContinueRequest")], [0, 1]],
      ["queryAllAccounts", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "QueryAllAccounts")], [0, 1]],
      ["retrieveAllSinceLastBatch", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "RetrieveAllSinceLastBatch")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => QueryObject,
    :schema_type => XSD::QName.new(NsPartnerAPI, "QueryObject"),
    :schema_element => [
      ["objectType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectType")]],
      ["properties", ["SOAP::SOAPString[]", XSD::QName.new(NsPartnerAPI, "Properties")], [1, nil]],
      ["objects", ["QueryObject[]", XSD::QName.new(NsPartnerAPI, "Objects")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => Query,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Query"),
    :schema_element => [
      ["object", ["QueryObject", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["filter", ["FilterPart", XSD::QName.new(NsPartnerAPI, "Filter")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => FilterPart,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FilterPart"),
    :schema_element => []
  )

  EncodedRegistry.register(
    :class => SimpleFilterPart,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SimpleFilterPart"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "FilterPart"),
    :schema_element => [
      ["property", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Property")]],
      ["simpleOperator", ["SimpleOperators", XSD::QName.new(NsPartnerAPI, "SimpleOperator")]],
      ["value", ["SOAP::SOAPString[]", XSD::QName.new(NsPartnerAPI, "Value")], [0, nil]],
      ["dateValue", ["SOAP::SOAPDateTime[]", XSD::QName.new(NsPartnerAPI, "DateValue")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => TagFilterPart,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TagFilterPart"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "FilterPart"),
    :schema_element => [
      ["tags", ["TagFilterPart::Tags", XSD::QName.new(NsPartnerAPI, "Tags")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => TagFilterPart::Tags,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Tags"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["tag", ["SOAP::SOAPString[]", XSD::QName.new(NsPartnerAPI, "Tag")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ComplexFilterPart,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ComplexFilterPart"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "FilterPart"),
    :schema_element => [
      ["leftOperand", ["FilterPart", XSD::QName.new(NsPartnerAPI, "LeftOperand")]],
      ["logicalOperator", ["LogicalOperators", XSD::QName.new(NsPartnerAPI, "LogicalOperator")]],
      ["rightOperand", ["FilterPart", XSD::QName.new(NsPartnerAPI, "RightOperand")], [0, 1]],
      ["additionalOperands", ["ComplexFilterPart::AdditionalOperands", XSD::QName.new(NsPartnerAPI, "AdditionalOperands")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ComplexFilterPart::AdditionalOperands,
    :schema_name => XSD::QName.new(NsPartnerAPI, "AdditionalOperands"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["operand", ["FilterPart[]", XSD::QName.new(NsPartnerAPI, "Operand")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ArrayOfObjectDefinitionRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ArrayOfObjectDefinitionRequest"),
    :schema_element => [
      ["objectDefinitionRequest", ["ObjectDefinitionRequest[]", XSD::QName.new(NsPartnerAPI, "ObjectDefinitionRequest")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ObjectDefinitionRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ObjectDefinitionRequest"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["objectType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectType")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => PropertyDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PropertyDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["dataType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DataType")], [0, 1]],
      ["valueType", ["SoapType", XSD::QName.new(NsPartnerAPI, "ValueType")], [0, 1]],
      ["propertyType", ["PropertyType", XSD::QName.new(NsPartnerAPI, "PropertyType")], [0, 1]],
      ["isCreatable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsCreatable")], [0, 1]],
      ["isUpdatable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsUpdatable")], [0, 1]],
      ["isRetrievable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRetrievable")], [0, 1]],
      ["isQueryable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsQueryable")], [0, 1]],
      ["isFilterable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsFilterable")], [0, 1]],
      ["isPartnerProperty", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsPartnerProperty")], [0, 1]],
      ["isAccountProperty", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAccountProperty")], [0, 1]],
      ["partnerMap", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerMap")], [0, 1]],
      ["attributeMaps", ["AttributeMap[]", XSD::QName.new(NsPartnerAPI, "AttributeMaps")], [0, nil]],
      ["markups", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Markups")], [0, nil]],
      ["precision", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Precision")], [0, 1]],
      ["scale", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Scale")], [0, 1]],
      ["label", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Label")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["defaultValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DefaultValue")], [0, 1]],
      ["minLength", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MinLength")], [0, 1]],
      ["maxLength", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MaxLength")], [0, 1]],
      ["minValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "MinValue")], [0, 1]],
      ["maxValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "MaxValue")], [0, 1]],
      ["isRequired", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRequired")], [0, 1]],
      ["isViewable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsViewable")], [0, 1]],
      ["isEditable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsEditable")], [0, 1]],
      ["isNillable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsNillable")], [0, 1]],
      ["isRestrictedPicklist", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRestrictedPicklist")], [0, 1]],
      ["picklistItems", ["PropertyDefinition::PicklistItems", XSD::QName.new(NsPartnerAPI, "PicklistItems")], [0, 1]],
      ["isSendTime", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendTime")], [0, 1]],
      ["displayOrder", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DisplayOrder")], [0, 1]],
      ["references", ["PropertyDefinition::References", XSD::QName.new(NsPartnerAPI, "References")], [0, 1]],
      ["relationshipName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RelationshipName")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["isContextSpecific", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsContextSpecific")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => PropertyDefinition::PicklistItems,
    :schema_name => XSD::QName.new(NsPartnerAPI, "PicklistItems"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["picklistItem", ["PicklistItem[]", XSD::QName.new(NsPartnerAPI, "PicklistItem")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => PropertyDefinition::References,
    :schema_name => XSD::QName.new(NsPartnerAPI, "References"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["reference", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Reference")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ObjectDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ObjectDefinition"),
    :schema_element => [
      ["objectType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectType")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["isCreatable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsCreatable")], [0, 1]],
      ["isUpdatable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsUpdatable")], [0, 1]],
      ["isRetrievable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRetrievable")], [0, 1]],
      ["isQueryable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsQueryable")], [0, 1]],
      ["isReference", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsReference")], [0, 1]],
      ["referencedType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ReferencedType")], [0, 1]],
      ["isPropertyCollection", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "IsPropertyCollection")], [0, 1]],
      ["isObjectCollection", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsObjectCollection")], [0, 1]],
      ["properties", ["PropertyDefinition[]", XSD::QName.new(NsPartnerAPI, "Properties")], [0, nil]],
      ["extendedProperties", ["ObjectDefinition::ExtendedProperties", XSD::QName.new(NsPartnerAPI, "ExtendedProperties")], [0, 1]],
      ["childObjects", ["ObjectDefinition[]", XSD::QName.new(NsPartnerAPI, "ChildObjects")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ObjectDefinition::ExtendedProperties,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ExtendedProperties"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["extendedProperty", ["PropertyDefinition[]", XSD::QName.new(NsPartnerAPI, "ExtendedProperty")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => AttributeMap,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AttributeMap"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIProperty"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]],
      ["entityName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EntityName")], [0, 1]],
      ["columnName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ColumnName")], [0, 1]],
      ["columnNameMappedTo", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ColumnNameMappedTo")], [0, 1]],
      ["entityNameMappedTo", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EntityNameMappedTo")], [0, 1]],
      ["additionalData", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "AdditionalData")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => PicklistItem,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PicklistItem"),
    :schema_element => [
      ["isDefaultValue", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsDefaultValue")], [0, 1]],
      ["label", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Label")], [0, 1]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ExecuteRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExecuteRequest"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["parameters", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Parameters")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ExecuteResponse,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExecuteResponse"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")], [0, 1]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")], [0, 1]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["results", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Results")], [0, nil]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => InteractionDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionBaseObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => InteractionBaseObject,
    :schema_type => XSD::QName.new(NsPartnerAPI, "InteractionBaseObject"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => PerformOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PerformOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["PerformOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["explanation", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Explanation")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => PerformOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => CampaignPerformOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "CampaignPerformOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "PerformOptions"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["CampaignPerformOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["explanation", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Explanation")], [0, 1]],
      ["occurrenceIDs", ["SOAP::SOAPString[]", XSD::QName.new(NsPartnerAPI, "OccurrenceIDs")], [0, nil]],
      ["occurrenceIDsIndex", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OccurrenceIDsIndex")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => CampaignPerformOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => PerformRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PerformRequest"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["action", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]],
      ["definitions", ["PerformRequest::Definitions", XSD::QName.new(NsPartnerAPI, "Definitions")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => PerformRequest::Definitions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Definitions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["definition", ["InteractionBaseObject[]", XSD::QName.new(NsPartnerAPI, "Definition")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => PerformResponse,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PerformResponse"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")], [0, 1]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")], [0, 1]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["results", ["PerformResponse::Results", XSD::QName.new(NsPartnerAPI, "Results")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => PerformResponse::Results,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Results"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["result", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Result")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => PerformResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PerformResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["task", ["TaskResult", XSD::QName.new(NsPartnerAPI, "Task")]]
    ]
  )

  EncodedRegistry.register(
    :class => ValidationAction,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ValidationAction"),
    :schema_element => [
      ["validationType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ValidationType")], [0, 1]],
      ["validationOptions", ["ValidationAction::ValidationOptions", XSD::QName.new(NsPartnerAPI, "ValidationOptions")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ValidationAction::ValidationOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ValidationOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["validationOption", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "ValidationOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => SpamAssassinValidation,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SpamAssassinValidation"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "ValidationAction"),
    :schema_element => [
      ["validationType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ValidationType")], [0, 1]],
      ["validationOptions", ["SpamAssassinValidation::ValidationOptions", XSD::QName.new(NsPartnerAPI, "ValidationOptions")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SpamAssassinValidation::ValidationOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ValidationOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["validationOption", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "ValidationOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ContentValidation,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ContentValidation"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["validationAction", ["ValidationAction", XSD::QName.new(NsPartnerAPI, "ValidationAction")], [0, 1]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["subscribers", ["ContentValidation::Subscribers", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ContentValidation::Subscribers,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Subscribers"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["subscriber", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ContentValidationResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ContentValidationResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "PerformResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["task", ["TaskResult", XSD::QName.new(NsPartnerAPI, "Task")]]
    ]
  )

  EncodedRegistry.register(
    :class => ValidationResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ValidationResult"),
    :schema_element => [
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]],
      ["checkTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CheckTime")], [0, 1]],
      ["checkTimeUTC", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CheckTimeUTC")], [0, 1]],
      ["isResultValid", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsResultValid")], [0, 1]],
      ["isSpam", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSpam")], [0, 1]],
      ["score", ["SOAP::SOAPDouble", XSD::QName.new(NsPartnerAPI, "Score")], [0, 1]],
      ["threshold", ["SOAP::SOAPDouble", XSD::QName.new(NsPartnerAPI, "Threshold")], [0, 1]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Message")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ContentValidationTaskResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ContentValidationTaskResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TaskResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["iD", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["validationResults", ["ContentValidationTaskResult::ValidationResults", XSD::QName.new(NsPartnerAPI, "ValidationResults")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ContentValidationTaskResult::ValidationResults,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ValidationResults"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["validationResult", ["ValidationResult[]", XSD::QName.new(NsPartnerAPI, "ValidationResult")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ConfigureOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ConfigureOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["ConfigureOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ConfigureOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ConfigureResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ConfigureResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]]
    ]
  )

  EncodedRegistry.register(
    :class => ScheduleDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ScheduleDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["recurrence", ["Recurrence", XSD::QName.new(NsPartnerAPI, "Recurrence")]],
      ["recurrenceType", ["RecurrenceTypeEnum", XSD::QName.new(NsPartnerAPI, "RecurrenceType")], [0, 1]],
      ["recurrenceRangeType", ["RecurrenceRangeTypeEnum", XSD::QName.new(NsPartnerAPI, "RecurrenceRangeType")], [0, 1]],
      ["startDateTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "StartDateTime")], [0, 1]],
      ["endDateTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EndDateTime")], [0, 1]],
      ["occurrences", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Occurrences")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ScheduleOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ScheduleOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["ScheduleOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ScheduleOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ScheduleResponse,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ScheduleResponse"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")], [0, 1]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")], [0, 1]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["results", ["ScheduleResponse::Results", XSD::QName.new(NsPartnerAPI, "Results")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ScheduleResponse::Results,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Results"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["result", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Result")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ScheduleResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ScheduleResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["ScheduleDefinition", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["task", ["TaskResult", XSD::QName.new(NsPartnerAPI, "Task")]]
    ]
  )

  EncodedRegistry.register(
    :class => MinutelyRecurrence,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MinutelyRecurrence"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Recurrence"),
    :schema_element => [
      ["minutelyRecurrencePatternType", ["MinutelyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "MinutelyRecurrencePatternType")], [0, 1]],
      ["minuteInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MinuteInterval")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => HourlyRecurrence,
    :schema_type => XSD::QName.new(NsPartnerAPI, "HourlyRecurrence"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Recurrence"),
    :schema_element => [
      ["hourlyRecurrencePatternType", ["HourlyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "HourlyRecurrencePatternType")], [0, 1]],
      ["hourInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "HourInterval")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DailyRecurrence,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DailyRecurrence"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Recurrence"),
    :schema_element => [
      ["dailyRecurrencePatternType", ["DailyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "DailyRecurrencePatternType")], [0, 1]],
      ["dayInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DayInterval")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => WeeklyRecurrence,
    :schema_type => XSD::QName.new(NsPartnerAPI, "WeeklyRecurrence"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Recurrence"),
    :schema_element => [
      ["weeklyRecurrencePatternType", ["WeeklyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "WeeklyRecurrencePatternType")], [0, 1]],
      ["weekInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "WeekInterval")], [0, 1]],
      ["sunday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Sunday")], [0, 1]],
      ["monday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Monday")], [0, 1]],
      ["tuesday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Tuesday")], [0, 1]],
      ["wednesday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Wednesday")], [0, 1]],
      ["thursday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Thursday")], [0, 1]],
      ["friday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Friday")], [0, 1]],
      ["saturday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Saturday")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => MonthlyRecurrence,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MonthlyRecurrence"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Recurrence"),
    :schema_element => [
      ["monthlyRecurrencePatternType", ["MonthlyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "MonthlyRecurrencePatternType")], [0, 1]],
      ["monthlyInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MonthlyInterval")], [0, 1]],
      ["scheduledDay", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ScheduledDay")], [0, 1]],
      ["scheduledWeek", ["WeekOfMonthEnum", XSD::QName.new(NsPartnerAPI, "ScheduledWeek")], [0, 1]],
      ["scheduledDayOfWeek", ["DayOfWeekEnum", XSD::QName.new(NsPartnerAPI, "ScheduledDayOfWeek")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => YearlyRecurrence,
    :schema_type => XSD::QName.new(NsPartnerAPI, "YearlyRecurrence"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Recurrence"),
    :schema_element => [
      ["yearlyRecurrencePatternType", ["YearlyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "YearlyRecurrencePatternType")], [0, 1]],
      ["scheduledDay", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ScheduledDay")], [0, 1]],
      ["scheduledWeek", ["WeekOfMonthEnum", XSD::QName.new(NsPartnerAPI, "ScheduledWeek")], [0, 1]],
      ["scheduledMonth", ["MonthOfYearEnum", XSD::QName.new(NsPartnerAPI, "ScheduledMonth")], [0, 1]],
      ["scheduledDayOfWeek", ["DayOfWeekEnum", XSD::QName.new(NsPartnerAPI, "ScheduledDayOfWeek")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ExtractRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractRequest"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Request"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["iD", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ID")]],
      ["options", ["ExtractOptions", XSD::QName.new(NsPartnerAPI, "Options")]],
      ["parameters", ["ExtractRequest::Parameters", XSD::QName.new(NsPartnerAPI, "Parameters")], [0, 1]],
      [ :choice,
        ["description", ["ExtractDescription", XSD::QName.new(NsPartnerAPI, "Description")]],
        ["definition", ["ExtractDefinition", XSD::QName.new(NsPartnerAPI, "Definition")]]
      ]
    ]
  )

  EncodedRegistry.register(
    :class => ExtractRequest::Parameters,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Parameters"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["parameter", ["ExtractParameter[]", XSD::QName.new(NsPartnerAPI, "Parameter")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ExtractResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["request", ["ExtractRequest", XSD::QName.new(NsPartnerAPI, "Request")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ExtractOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["ExtractOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ExtractOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ExtractParameter,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractParameter"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIProperty"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]]
    ]
  )

  EncodedRegistry.register(
    :class => ExtractTemplate,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractTemplate"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["configurationPage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConfigurationPage")], [0, 1]],
      ["packageKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PackageKey")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ExtractDescription,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractDescription"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "ExtractTemplate"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["configurationPage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConfigurationPage")], [0, 1]],
      ["packageKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PackageKey")], [0, 1]],
      ["parameters", ["ExtractDescription::Parameters", XSD::QName.new(NsPartnerAPI, "Parameters")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ExtractDescription::Parameters,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Parameters"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["parameter", ["ExtractParameterDescription[]", XSD::QName.new(NsPartnerAPI, "Parameter")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ExtractDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "ExtractTemplate"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["configurationPage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConfigurationPage")], [0, 1]],
      ["packageKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PackageKey")], [0, 1]],
      ["parameters", ["ExtractDefinition::Parameters", XSD::QName.new(NsPartnerAPI, "Parameters")], [0, 1]],
      ["values", ["ExtractDefinition::Values", XSD::QName.new(NsPartnerAPI, "Values")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ExtractDefinition::Parameters,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Parameters"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["parameter", ["ExtractParameterDescription[]", XSD::QName.new(NsPartnerAPI, "Parameter")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ExtractDefinition::Values,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Values"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["value", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Value")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ParameterDescription,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ParameterDescription"),
    :schema_element => []
  )

  EncodedRegistry.register(
    :class => ExtractParameterDescription,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractParameterDescription"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "ParameterDescription"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["dataType", ["ExtractParameterDataType", XSD::QName.new(NsPartnerAPI, "DataType")]],
      ["defaultValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DefaultValue")]],
      ["isOptional", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsOptional")]]
    ]
  )

  EncodedRegistry.register(
    :class => VersionInfoResponse,
    :schema_type => XSD::QName.new(NsPartnerAPI, "VersionInfoResponse"),
    :schema_element => [
      ["version", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Version")]],
      ["versionDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "VersionDate")]],
      ["notes", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Notes")]],
      ["versionHistory", ["VersionInfoResponse[]", XSD::QName.new(NsPartnerAPI, "VersionHistory")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => Locale,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Locale"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["localeCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "LocaleCode")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => TimeZone,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TimeZone"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Account,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Account"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["accountType", ["AccountTypeEnum", XSD::QName.new(NsPartnerAPI, "AccountType")]],
      ["parentID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ParentID")], [0, 1]],
      ["brandID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BrandID")], [0, 1]],
      ["privateLabelID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "PrivateLabelID")], [0, 1]],
      ["reportingParentID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ReportingParentID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["email", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["businessName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BusinessName")], [0, 1]],
      ["phone", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Phone")], [0, 1]],
      ["address", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Address")], [0, 1]],
      ["fax", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Fax")], [0, 1]],
      ["city", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "City")], [0, 1]],
      ["state", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "State")], [0, 1]],
      ["zip", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Zip")], [0, 1]],
      ["country", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Country")], [0, 1]],
      ["isActive", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["isTestAccount", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTestAccount")], [0, 1]],
      ["orgID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrgID")], [0, 1]],
      ["dBID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DBID")], [0, 1]],
      ["parentName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentName")], [0, 1]],
      ["customerID", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "CustomerID")], [0, 1]],
      ["deletedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "DeletedDate")], [0, 1]],
      ["editionID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "EditionID")], [0, 1]],
      ["children", ["AccountDataItem[]", XSD::QName.new(NsPartnerAPI, "Children")], [0, nil]],
      ["subscription", ["Subscription", XSD::QName.new(NsPartnerAPI, "Subscription")], [0, 1]],
      ["privateLabels", ["PrivateLabel[]", XSD::QName.new(NsPartnerAPI, "PrivateLabels")], [0, nil]],
      ["businessRules", ["BusinessRule[]", XSD::QName.new(NsPartnerAPI, "BusinessRules")], [0, nil]],
      ["accountUsers", ["AccountUser[]", XSD::QName.new(NsPartnerAPI, "AccountUsers")], [0, nil]],
      ["inheritAddress", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "InheritAddress")], [0, 1]],
      ["isTrialAccount", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTrialAccount")], [0, 1]],
      ["locale", ["Locale", XSD::QName.new(NsPartnerAPI, "Locale")], [0, 1]],
      ["parentAccount", ["Account", XSD::QName.new(NsPartnerAPI, "ParentAccount")], [0, 1]],
      ["timeZone", ["TimeZone", XSD::QName.new(NsPartnerAPI, "TimeZone")], [0, 1]],
      ["roles", ["Account::Roles", XSD::QName.new(NsPartnerAPI, "Roles")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Account::Roles,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Roles"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["role", ["Role[]", XSD::QName.new(NsPartnerAPI, "Role")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => BusinessUnit,
    :schema_type => XSD::QName.new(NsPartnerAPI, "BusinessUnit"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Account"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["accountType", ["AccountTypeEnum", XSD::QName.new(NsPartnerAPI, "AccountType")]],
      ["parentID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ParentID")], [0, 1]],
      ["brandID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BrandID")], [0, 1]],
      ["privateLabelID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "PrivateLabelID")], [0, 1]],
      ["reportingParentID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ReportingParentID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["email", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["businessName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BusinessName")], [0, 1]],
      ["phone", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Phone")], [0, 1]],
      ["address", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Address")], [0, 1]],
      ["fax", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Fax")], [0, 1]],
      ["city", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "City")], [0, 1]],
      ["state", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "State")], [0, 1]],
      ["zip", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Zip")], [0, 1]],
      ["country", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Country")], [0, 1]],
      ["isActive", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["isTestAccount", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTestAccount")], [0, 1]],
      ["orgID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrgID")], [0, 1]],
      ["dBID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DBID")], [0, 1]],
      ["parentName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentName")], [0, 1]],
      ["customerID", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "CustomerID")], [0, 1]],
      ["deletedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "DeletedDate")], [0, 1]],
      ["editionID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "EditionID")], [0, 1]],
      ["children", ["AccountDataItem[]", XSD::QName.new(NsPartnerAPI, "Children")], [0, nil]],
      ["subscription", ["Subscription", XSD::QName.new(NsPartnerAPI, "Subscription")], [0, 1]],
      ["privateLabels", ["PrivateLabel[]", XSD::QName.new(NsPartnerAPI, "PrivateLabels")], [0, nil]],
      ["businessRules", ["BusinessRule[]", XSD::QName.new(NsPartnerAPI, "BusinessRules")], [0, nil]],
      ["accountUsers", ["AccountUser[]", XSD::QName.new(NsPartnerAPI, "AccountUsers")], [0, nil]],
      ["inheritAddress", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "InheritAddress")], [0, 1]],
      ["isTrialAccount", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTrialAccount")], [0, 1]],
      ["locale", ["Locale", XSD::QName.new(NsPartnerAPI, "Locale")], [0, 1]],
      ["parentAccount", ["Account", XSD::QName.new(NsPartnerAPI, "ParentAccount")], [0, 1]],
      ["timeZone", ["TimeZone", XSD::QName.new(NsPartnerAPI, "TimeZone")], [0, 1]],
      ["roles", ["BusinessUnit::Roles", XSD::QName.new(NsPartnerAPI, "Roles")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["defaultSendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "DefaultSendClassification")], [0, 1]],
      ["defaultHomePage", ["LandingPage", XSD::QName.new(NsPartnerAPI, "DefaultHomePage")], [0, 1]],
      ["subscriberFilter", ["FilterPart", XSD::QName.new(NsPartnerAPI, "SubscriberFilter")], [0, 1]],
      ["masterUnsubscribeBehavior", ["UnsubscribeBehaviorEnum", XSD::QName.new(NsPartnerAPI, "MasterUnsubscribeBehavior")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => BusinessUnit::Roles,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Roles"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["role", ["Role[]", XSD::QName.new(NsPartnerAPI, "Role")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => LandingPage,
    :schema_type => XSD::QName.new(NsPartnerAPI, "LandingPage"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => AccountDataItem,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AccountDataItem"),
    :schema_element => [
      ["childAccountID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ChildAccountID")], [0, 1]],
      ["brandID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BrandID")], [0, 1]],
      ["privateLabelID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "PrivateLabelID")], [0, 1]],
      ["accountType", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "AccountType")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Subscription,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Subscription"),
    :schema_element => [
      ["subscriptionID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SubscriptionID")], [0, 1]],
      ["emailsPurchased", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "EmailsPurchased")]],
      ["accountsPurchased", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "AccountsPurchased")]],
      ["advAccountsPurchased", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "AdvAccountsPurchased")]],
      ["lPAccountsPurchased", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "LPAccountsPurchased")]],
      ["dOTOAccountsPurchased", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DOTOAccountsPurchased")]],
      ["bUAccountsPurchased", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BUAccountsPurchased")]],
      ["beginDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "BeginDate")]],
      ["endDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EndDate")]],
      ["notes", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Notes")], [0, 1]],
      ["period", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Period")]],
      ["notificationTitle", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NotificationTitle")], [0, 1]],
      ["notificationMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NotificationMessage")], [0, 1]],
      ["notificationFlag", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NotificationFlag")], [0, 1]],
      ["notificationExpDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "NotificationExpDate")], [0, 1]],
      ["forAccounting", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ForAccounting")], [0, 1]],
      ["hasPurchasedEmails", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "HasPurchasedEmails")]],
      ["contractNumber", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ContractNumber")], [0, 1]],
      ["contractModifier", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ContractModifier")], [0, 1]],
      ["isRenewal", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRenewal")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => PrivateLabel,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PrivateLabel"),
    :schema_element => [
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["colorPaletteXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ColorPaletteXML")], [0, 1]],
      ["logoFile", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "LogoFile")], [0, 1]],
      ["delete", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Delete")]],
      ["setActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SetActive")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => AccountPrivateLabel,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AccountPrivateLabel"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["ownerMemberID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OwnerMemberID")]],
      ["colorPaletteXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ColorPaletteXML")]]
    ]
  )

  EncodedRegistry.register(
    :class => BusinessRule,
    :schema_type => XSD::QName.new(NsPartnerAPI, "BusinessRule"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["memberBusinessRuleID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MemberBusinessRuleID")]],
      ["businessRuleID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BusinessRuleID")]],
      ["data", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Data")]],
      ["quality", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Quality")]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["isViewable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsViewable")], [0, 1]],
      ["isInheritedFromParent", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsInheritedFromParent")], [0, 1]],
      ["displayName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DisplayName")]],
      ["productCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ProductCode")]]
    ]
  )

  EncodedRegistry.register(
    :class => AccountUser,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AccountUser"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["accountUserID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "AccountUserID")], [0, 1]],
      ["userID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "UserID")]],
      ["password", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Password")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["email", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Email")]],
      ["mustChangePassword", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "MustChangePassword")], [0, 1]],
      ["activeFlag", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "ActiveFlag")], [0, 1]],
      ["challengePhrase", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ChallengePhrase")], [0, 1]],
      ["challengeAnswer", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ChallengeAnswer")], [0, 1]],
      ["userPermissions", ["UserAccess[]", XSD::QName.new(NsPartnerAPI, "UserPermissions")], [0, nil]],
      ["delete", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Delete")]],
      ["lastSuccessfulLogin", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "LastSuccessfulLogin")], [0, 1]],
      ["isAPIUser", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAPIUser")], [0, 1]],
      ["notificationEmailAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NotificationEmailAddress")], [0, 1]],
      ["isLocked", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsLocked")], [0, 1]],
      ["unlock", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Unlock")], [0, 1]],
      ["businessUnit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BusinessUnit")], [0, 1]],
      ["defaultBusinessUnit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DefaultBusinessUnit")], [0, 1]],
      ["locale", ["Locale", XSD::QName.new(NsPartnerAPI, "Locale")], [0, 1]],
      ["timeZone", ["TimeZone", XSD::QName.new(NsPartnerAPI, "TimeZone")], [0, 1]],
      ["defaultBusinessUnitObject", ["BusinessUnit", XSD::QName.new(NsPartnerAPI, "DefaultBusinessUnitObject")], [0, 1]],
      ["associatedBusinessUnits", ["AccountUser::AssociatedBusinessUnits", XSD::QName.new(NsPartnerAPI, "AssociatedBusinessUnits")], [0, 1]],
      ["roles", ["AccountUser::Roles", XSD::QName.new(NsPartnerAPI, "Roles")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => AccountUser::AssociatedBusinessUnits,
    :schema_name => XSD::QName.new(NsPartnerAPI, "AssociatedBusinessUnits"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["businessUnit", ["BusinessUnit[]", XSD::QName.new(NsPartnerAPI, "BusinessUnit")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => AccountUser::Roles,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Roles"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["role", ["Role[]", XSD::QName.new(NsPartnerAPI, "Role")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => UserAccess,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UserAccess"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["delete", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Delete")]]
    ]
  )

  EncodedRegistry.register(
    :class => Brand,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Brand"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["brandID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BrandID")], [0, 1]],
      ["label", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Label")], [0, 1]],
      ["comment", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Comment")], [0, 1]],
      ["brandTags", ["BrandTag[]", XSD::QName.new(NsPartnerAPI, "BrandTags")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => BrandTag,
    :schema_type => XSD::QName.new(NsPartnerAPI, "BrandTag"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["brandID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BrandID")], [0, 1]],
      ["label", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Label")], [0, 1]],
      ["data", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Data")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Role,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Role"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["isPrivate", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsPrivate")], [0, 1]],
      ["isSystemDefined", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSystemDefined")], [0, 1]],
      ["forceInheritance", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "ForceInheritance")], [0, 1]],
      ["permissionSets", ["Role::PermissionSets", XSD::QName.new(NsPartnerAPI, "PermissionSets")], [0, 1]],
      ["permissions", ["Role::Permissions", XSD::QName.new(NsPartnerAPI, "Permissions")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Role::PermissionSets,
    :schema_name => XSD::QName.new(NsPartnerAPI, "PermissionSets"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["permissionSet", ["PermissionSet[]", XSD::QName.new(NsPartnerAPI, "PermissionSet")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => Role::Permissions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Permissions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["permission", ["Permission[]", XSD::QName.new(NsPartnerAPI, "Permission")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => PermissionSet,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PermissionSet"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["isAllowed", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAllowed")], [0, 1]],
      ["isDenied", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsDenied")], [0, 1]],
      ["permissionSets", ["PermissionSet::PermissionSets", XSD::QName.new(NsPartnerAPI, "PermissionSets")], [0, 1]],
      ["permissions", ["PermissionSet::Permissions", XSD::QName.new(NsPartnerAPI, "Permissions")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => PermissionSet::PermissionSets,
    :schema_name => XSD::QName.new(NsPartnerAPI, "PermissionSets"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["permissionSet", ["PermissionSet[]", XSD::QName.new(NsPartnerAPI, "PermissionSet")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => PermissionSet::Permissions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Permissions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["permission", ["Permission[]", XSD::QName.new(NsPartnerAPI, "Permission")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => Permission,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Permission"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["objectType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectType")], [0, 1]],
      ["operation", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Operation")], [0, 1]],
      ["isShareable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsShareable")], [0, 1]],
      ["isAllowed", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAllowed")], [0, 1]],
      ["isDenied", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsDenied")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Email,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Email"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["folder", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Folder")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["hTMLBody", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "HTMLBody")], [0, 1]],
      ["textBody", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TextBody")], [0, 1]],
      ["contentAreas", ["ContentArea[]", XSD::QName.new(NsPartnerAPI, "ContentAreas")], [0, nil]],
      ["subject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Subject")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["isHTMLPaste", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsHTMLPaste")], [0, 1]],
      ["clonedFromID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ClonedFromID")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["emailType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailType")], [0, 1]],
      ["characterSet", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CharacterSet")], [0, 1]],
      ["hasDynamicSubjectLine", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "HasDynamicSubjectLine")], [0, 1]],
      ["contentCheckStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ContentCheckStatus")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ContentArea,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ContentArea"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Key")], [0, 1]],
      ["content", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Content")], [0, 1]],
      ["isBlank", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsBlank")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["layout", ["LayoutType", XSD::QName.new(NsPartnerAPI, "Layout")], [0, 1]],
      ["isDynamicContent", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsDynamicContent")], [0, 1]],
      ["isSurvey", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSurvey")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Message,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Message"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["textBody", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TextBody")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => TrackingEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => OpenEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "OpenEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => BounceEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "BounceEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]],
      ["sMTPCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SMTPCode")], [0, 1]],
      ["bounceCategory", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BounceCategory")], [0, 1]],
      ["sMTPReason", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SMTPReason")], [0, 1]],
      ["bounceType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BounceType")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => UnsubEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UnsubEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ClickEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ClickEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]],
      ["uRLID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "URLID")], [0, 1]],
      ["uRL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "URL")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SentEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SentEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => NotSentEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "NotSentEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SurveyEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SurveyEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]],
      ["question", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Question")], [0, 1]],
      ["answer", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Answer")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ForwardedEmailEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ForwardedEmailEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ForwardedEmailOptInEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ForwardedEmailOptInEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]],
      ["optInSubscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OptInSubscriberKey")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Subscriber,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Subscriber"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["emailAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailAddress")], [0, 1]],
      ["attributes", ["Attribute[]", XSD::QName.new(NsPartnerAPI, "Attributes")], [0, nil]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["unsubscribedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "UnsubscribedDate")], [0, 1]],
      ["status", ["SubscriberStatus", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["partnerType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerType")], [0, 1]],
      ["emailTypePreference", ["EmailType", XSD::QName.new(NsPartnerAPI, "EmailTypePreference")], [0, 1]],
      ["lists", ["SubscriberList[]", XSD::QName.new(NsPartnerAPI, "Lists")], [0, nil]],
      ["globalUnsubscribeCategory", ["GlobalUnsubscribeCategory", XSD::QName.new(NsPartnerAPI, "GlobalUnsubscribeCategory")], [0, 1]],
      ["subscriberTypeDefinition", ["SubscriberTypeDefinition", XSD::QName.new(NsPartnerAPI, "SubscriberTypeDefinition")], [0, 1]],
      ["addresses", ["Subscriber::Addresses", XSD::QName.new(NsPartnerAPI, "Addresses")], [0, 1]],
      ["primarySMSAddress", ["SMSAddress", XSD::QName.new(NsPartnerAPI, "PrimarySMSAddress")], [0, 1]],
      ["primarySMSPublicationStatus", ["SubscriberAddressStatus", XSD::QName.new(NsPartnerAPI, "PrimarySMSPublicationStatus")], [0, 1]],
      ["primaryEmailAddress", ["EmailAddress", XSD::QName.new(NsPartnerAPI, "PrimaryEmailAddress")], [0, 1]],
      ["locale", ["Locale", XSD::QName.new(NsPartnerAPI, "Locale")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Subscriber::Addresses,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Addresses"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["address", ["SubscriberAddress[]", XSD::QName.new(NsPartnerAPI, "Address")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => Attribute,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Attribute"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]],
      ["compression", ["CompressionConfiguration", XSD::QName.new(NsPartnerAPI, "Compression")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => CompressionConfiguration,
    :schema_type => XSD::QName.new(NsPartnerAPI, "CompressionConfiguration"),
    :schema_element => [
      ["type", ["CompressionType", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["encoding", ["CompressionEncoding", XSD::QName.new(NsPartnerAPI, "Encoding")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SubscriberTypeDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberTypeDefinition"),
    :schema_element => [
      ["subscriberType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberType")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ListSubscriber,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ListSubscriber"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["status", ["SubscriberStatus", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["listID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ListID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SubscriberList,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberList"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["status", ["SubscriberStatus", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["action", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]],
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => List,
    :schema_type => XSD::QName.new(NsPartnerAPI, "List"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["listName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ListName")], [0, 1]],
      ["category", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Category")], [0, 1]],
      ["type", ["ListTypeEnum", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["subscribers", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, nil]],
      ["listClassification", ["ListClassificationEnum", XSD::QName.new(NsPartnerAPI, "ListClassification")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Group,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Group"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["category", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Category")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["subscribers", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => GlobalUnsubscribeCategory,
    :schema_type => XSD::QName.new(NsPartnerAPI, "GlobalUnsubscribeCategory"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["ignorableByPartners", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IgnorableByPartners")]],
      ["ignore", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Ignore")]]
    ]
  )

  EncodedRegistry.register(
    :class => Campaign,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Campaign"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Send,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Send"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["list", ["List[]", XSD::QName.new(NsPartnerAPI, "List")], [0, nil]],
      ["sendDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "SendDate")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["duplicates", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Duplicates")], [0, 1]],
      ["invalidAddresses", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "InvalidAddresses")], [0, 1]],
      ["existingUndeliverables", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ExistingUndeliverables")], [0, 1]],
      ["existingUnsubscribes", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ExistingUnsubscribes")], [0, 1]],
      ["hardBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "HardBounces")], [0, 1]],
      ["softBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SoftBounces")], [0, 1]],
      ["otherBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OtherBounces")], [0, 1]],
      ["forwardedEmails", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ForwardedEmails")], [0, 1]],
      ["uniqueClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueClicks")], [0, 1]],
      ["uniqueOpens", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueOpens")], [0, 1]],
      ["numberSent", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberSent")], [0, 1]],
      ["numberDelivered", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberDelivered")], [0, 1]],
      ["unsubscribes", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Unsubscribes")], [0, 1]],
      ["missingAddresses", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MissingAddresses")], [0, 1]],
      ["subject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Subject")], [0, 1]],
      ["previewURL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PreviewURL")], [0, 1]],
      ["links", ["Link[]", XSD::QName.new(NsPartnerAPI, "Links")], [0, nil]],
      ["events", ["TrackingEvent[]", XSD::QName.new(NsPartnerAPI, "Events")], [0, nil]],
      ["sentDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "SentDate")], [0, 1]],
      ["emailName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailName")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["isMultipart", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsMultipart")], [0, 1]],
      ["sendLimit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendLimit")], [0, 1]],
      ["sendWindowOpen", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowOpen")], [0, 1]],
      ["sendWindowClose", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowClose")], [0, 1]],
      ["isAlwaysOn", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAlwaysOn")], [0, 1]],
      ["sources", ["Send::Sources", XSD::QName.new(NsPartnerAPI, "Sources")], [0, 1]],
      ["numberTargeted", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberTargeted")], [0, 1]],
      ["numberErrored", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberErrored")], [0, 1]],
      ["numberExcluded", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberExcluded")], [0, 1]],
      ["additional", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Additional")], [0, 1]],
      ["bccEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BccEmail")], [0, 1]],
      ["emailSendDefinition", ["EmailSendDefinition", XSD::QName.new(NsPartnerAPI, "EmailSendDefinition")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Send::Sources,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Sources"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["source", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Source")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => Link,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Link"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["lastClicked", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "LastClicked")], [0, 1]],
      ["v_alias", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Alias")], [0, 1]],
      ["totalClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "TotalClicks")], [0, 1]],
      ["uniqueClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueClicks")], [0, 1]],
      ["uRL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "URL")], [0, 1]],
      ["subscribers", ["TrackingEvent[]", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => SendSummary,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendSummary"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["accountID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "AccountID")], [0, 1]],
      ["accountName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AccountName")], [0, 1]],
      ["accountEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AccountEmail")], [0, 1]],
      ["isTestAccount", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTestAccount")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["deliveredTime", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DeliveredTime")], [0, 1]],
      ["totalSent", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "TotalSent")], [0, 1]],
      ["transactional", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Transactional")], [0, 1]],
      ["nonTransactional", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NonTransactional")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => TriggeredSendDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SendDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]],
      ["triggeredSendType", ["TriggeredSendTypeEnum", XSD::QName.new(NsPartnerAPI, "TriggeredSendType")], [0, 1]],
      ["triggeredSendStatus", ["TriggeredSendStatusEnum", XSD::QName.new(NsPartnerAPI, "TriggeredSendStatus")], [0, 1]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["autoAddSubscribers", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "AutoAddSubscribers")], [0, 1]],
      ["autoUpdateSubscribers", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "AutoUpdateSubscribers")], [0, 1]],
      ["batchInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchInterval")], [0, 1]],
      ["bccEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BccEmail")], [0, 1]],
      ["emailSubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailSubject")], [0, 1]],
      ["dynamicEmailSubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DynamicEmailSubject")], [0, 1]],
      ["isMultipart", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsMultipart")], [0, 1]],
      ["isWrapped", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsWrapped")], [0, 1]],
      ["allowedSlots", ["SOAP::SOAPShort", XSD::QName.new(NsPartnerAPI, "AllowedSlots")], [0, 1]],
      ["newSlotTrigger", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NewSlotTrigger")], [0, 1]],
      ["sendLimit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendLimit")], [0, 1]],
      ["sendWindowOpen", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowOpen")], [0, 1]],
      ["sendWindowClose", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowClose")], [0, 1]],
      ["sendWindowDelete", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SendWindowDelete")], [0, 1]],
      ["refreshContent", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "RefreshContent")], [0, 1]],
      ["exclusionFilter", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExclusionFilter")], [0, 1]],
      ["priority", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["sendSourceCustomerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SendSourceCustomerKey")], [0, 1]],
      ["exclusionListCollection", ["TriggeredSendExclusionList[]", XSD::QName.new(NsPartnerAPI, "ExclusionListCollection")], [0, nil]],
      ["cCEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CCEmail")], [0, 1]],
      ["sendSourceDataExtension", ["DataExtension", XSD::QName.new(NsPartnerAPI, "SendSourceDataExtension")], [0, 1]],
      ["isAlwaysOn", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAlwaysOn")], [0, 1]],
      ["disableOnEmailBuildError", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DisableOnEmailBuildError")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => TriggeredSendExclusionList,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSendExclusionList"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "AudienceItem"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["sendDefinitionListType", ["SendDefinitionListTypeEnum", XSD::QName.new(NsPartnerAPI, "SendDefinitionListType")], [0, 1]],
      ["customObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomObjectID")], [0, 1]],
      ["dataSourceTypeID", ["DataSourceTypeEnum", XSD::QName.new(NsPartnerAPI, "DataSourceTypeID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => TriggeredSend,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSend"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["triggeredSendDefinition", ["TriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinition")]],
      ["subscribers", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscribers")], [1, nil]],
      ["attributes", ["Attribute[]", XSD::QName.new(NsPartnerAPI, "Attributes")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => TriggeredSendCreateResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSendCreateResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "CreateResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["newID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NewID")]],
      ["newObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NewObjectID")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")], [0, 1]],
      ["createResults", ["CreateResult[]", XSD::QName.new(NsPartnerAPI, "CreateResults")], [0, nil]],
      ["parentPropertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentPropertyName")], [0, 1]],
      ["subscriberFailures", ["SubscriberResult[]", XSD::QName.new(NsPartnerAPI, "SubscriberFailures")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => SubscriberResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberResult"),
    :schema_element => [
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")]],
      ["errorCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorCode")]],
      ["errorDescription", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorDescription")], [0, 1]],
      ["ordinal", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Ordinal")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SubscriberSendResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberSendResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["send", ["Send", XSD::QName.new(NsPartnerAPI, "Send")], [0, 1]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]],
      ["clickDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ClickDate")], [0, 1]],
      ["bounceDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "BounceDate")], [0, 1]],
      ["openDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "OpenDate")], [0, 1]],
      ["sentDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "SentDate")], [0, 1]],
      ["lastAction", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "LastAction")], [0, 1]],
      ["unsubscribeDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "UnsubscribeDate")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["totalClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "TotalClicks")], [0, 1]],
      ["uniqueClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueClicks")], [0, 1]],
      ["subject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Subject")], [0, 1]],
      ["viewSentEmailURL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ViewSentEmailURL")], [0, 1]],
      ["hardBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "HardBounces")], [0, 1]],
      ["softBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SoftBounces")], [0, 1]],
      ["otherBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OtherBounces")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => TriggeredSendSummary,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSendSummary"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["triggeredSendDefinition", ["TriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinition")], [0, 1]],
      ["sent", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "Sent")], [0, 1]],
      ["notSentDueToOptOut", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "NotSentDueToOptOut")], [0, 1]],
      ["notSentDueToUndeliverable", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "NotSentDueToUndeliverable")], [0, 1]],
      ["bounces", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "Bounces")], [0, 1]],
      ["opens", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "Opens")], [0, 1]],
      ["clicks", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "Clicks")], [0, 1]],
      ["uniqueOpens", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "UniqueOpens")], [0, 1]],
      ["uniqueClicks", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "UniqueClicks")], [0, 1]],
      ["optOuts", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "OptOuts")], [0, 1]],
      ["surveyResponses", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "SurveyResponses")], [0, 1]],
      ["fTAFRequests", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "FTAFRequests")], [0, 1]],
      ["fTAFEmailsSent", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "FTAFEmailsSent")], [0, 1]],
      ["fTAFOptIns", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "FTAFOptIns")], [0, 1]],
      ["conversions", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "Conversions")], [0, 1]],
      ["uniqueConversions", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "UniqueConversions")], [0, 1]],
      ["inProcess", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "InProcess")], [0, 1]],
      ["notSentDueToError", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "NotSentDueToError")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => AsyncRequestResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AsyncRequestResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["completeDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CompleteDate")], [0, 1]],
      ["callStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CallStatus")], [0, 1]],
      ["callMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CallMessage")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => VoiceTriggeredSend,
    :schema_type => XSD::QName.new(NsPartnerAPI, "VoiceTriggeredSend"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["voiceTriggeredSendDefinition", ["VoiceTriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "VoiceTriggeredSendDefinition")], [0, 1]],
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Message")], [0, 1]],
      ["number", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Number")], [0, 1]],
      ["transferMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TransferMessage")], [0, 1]],
      ["transferNumber", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TransferNumber")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => VoiceTriggeredSendDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "VoiceTriggeredSendDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SendDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SMSTriggeredSend,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SMSTriggeredSend"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sMSTriggeredSendDefinition", ["SMSTriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "SMSTriggeredSendDefinition")], [0, 1]],
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Message")], [0, 1]],
      ["number", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Number")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SMSTriggeredSendDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SMSTriggeredSendDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SendDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SendClassification,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendClassification"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendClassificationType", ["SendClassificationTypeEnum", XSD::QName.new(NsPartnerAPI, "SendClassificationType")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["honorPublicationListOptOutsForTransactionalSends", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "HonorPublicationListOptOutsForTransactionalSends")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SenderProfile,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SenderProfile"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["useDefaultRMMRules", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "UseDefaultRMMRules")], [0, 1]],
      ["autoForwardToEmailAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoForwardToEmailAddress")], [0, 1]],
      ["autoForwardToName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoForwardToName")], [0, 1]],
      ["directForward", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DirectForward")], [0, 1]],
      ["autoForwardTriggeredSend", ["TriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "AutoForwardTriggeredSend")], [0, 1]],
      ["autoReply", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "AutoReply")], [0, 1]],
      ["autoReplyTriggeredSend", ["TriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "AutoReplyTriggeredSend")], [0, 1]],
      ["senderHeaderEmailAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SenderHeaderEmailAddress")], [0, 1]],
      ["senderHeaderName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SenderHeaderName")], [0, 1]],
      ["dataRetentionPeriodLength", ["SOAP::SOAPShort", XSD::QName.new(NsPartnerAPI, "DataRetentionPeriodLength")], [0, 1]],
      ["dataRetentionPeriodUnitOfMeasure", ["RecurrenceTypeEnum", XSD::QName.new(NsPartnerAPI, "DataRetentionPeriodUnitOfMeasure")], [0, 1]],
      ["replyManagementRuleSet", ["APIObject", XSD::QName.new(NsPartnerAPI, "ReplyManagementRuleSet")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DeliveryProfile,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DeliveryProfile"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["subscriberLevelPrivateDomain", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SubscriberLevelPrivateDomain")], [0, 1]],
      ["sMIMESignatureCertificate", ["Certificate", XSD::QName.new(NsPartnerAPI, "SMIMESignatureCertificate")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => PrivateDomain,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PrivateDomain"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => PrivateIP,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PrivateIP"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["ordinalID", ["SOAP::SOAPShort", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["iPAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "IPAddress")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SendDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => AudienceItem,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AudienceItem"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["sendDefinitionListType", ["SendDefinitionListTypeEnum", XSD::QName.new(NsPartnerAPI, "SendDefinitionListType")], [0, 1]],
      ["customObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomObjectID")], [0, 1]],
      ["dataSourceTypeID", ["DataSourceTypeEnum", XSD::QName.new(NsPartnerAPI, "DataSourceTypeID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => EmailSendDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "EmailSendDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SendDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]],
      ["sendDefinitionList", ["SendDefinitionList[]", XSD::QName.new(NsPartnerAPI, "SendDefinitionList")], [0, nil]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["bccEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BccEmail")], [0, 1]],
      ["autoBccEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoBccEmail")], [0, 1]],
      ["testEmailAddr", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TestEmailAddr")], [0, 1]],
      ["emailSubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailSubject")], [0, 1]],
      ["dynamicEmailSubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DynamicEmailSubject")], [0, 1]],
      ["isMultipart", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsMultipart")], [0, 1]],
      ["isWrapped", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsWrapped")], [0, 1]],
      ["sendLimit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendLimit")], [0, 1]],
      ["sendWindowOpen", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowOpen")], [0, 1]],
      ["sendWindowClose", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowClose")], [0, 1]],
      ["sendWindowDelete", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SendWindowDelete")], [0, 1]],
      ["deduplicateByEmail", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DeduplicateByEmail")], [0, 1]],
      ["exclusionFilter", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExclusionFilter")], [0, 1]],
      ["trackingUsers", ["EmailSendDefinition::TrackingUsers", XSD::QName.new(NsPartnerAPI, "TrackingUsers")], [0, 1]],
      ["additional", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Additional")], [0, 1]],
      ["cCEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CCEmail")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => EmailSendDefinition::TrackingUsers,
    :schema_name => XSD::QName.new(NsPartnerAPI, "TrackingUsers"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["trackingUser", ["TrackingUser[]", XSD::QName.new(NsPartnerAPI, "TrackingUser")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => SendDefinitionList,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendDefinitionList"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "AudienceItem"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["sendDefinitionListType", ["SendDefinitionListTypeEnum", XSD::QName.new(NsPartnerAPI, "SendDefinitionListType")], [0, 1]],
      ["customObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomObjectID")], [0, 1]],
      ["dataSourceTypeID", ["DataSourceTypeEnum", XSD::QName.new(NsPartnerAPI, "DataSourceTypeID")], [0, 1]],
      ["filterDefinition", ["FilterDefinition", XSD::QName.new(NsPartnerAPI, "FilterDefinition")], [0, 1]],
      ["isTestObject", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTestObject")], [0, 1]],
      ["salesForceObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SalesForceObjectID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["parameters", ["SendDefinitionList::Parameters", XSD::QName.new(NsPartnerAPI, "Parameters")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SendDefinitionList::Parameters,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Parameters"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["parameter", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Parameter")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => TrackingUser,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TrackingUser"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["employeeID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "EmployeeID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => MessagingVendorKind,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MessagingVendorKind"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["vendor", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Vendor")]],
      ["kind", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Kind")]],
      ["isUsernameRequired", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsUsernameRequired")]],
      ["isPasswordRequired", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsPasswordRequired")]],
      ["isProfileRequired", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsProfileRequired")]]
    ]
  )

  EncodedRegistry.register(
    :class => MessagingConfiguration,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MessagingConfiguration"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["code", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Code")]],
      ["messagingVendorKind", ["MessagingVendorKind", XSD::QName.new(NsPartnerAPI, "MessagingVendorKind")]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")]],
      ["url", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Url")]],
      ["userName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "UserName")]],
      ["password", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Password")]],
      ["profileID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ProfileID")]],
      ["callbackUrl", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CallbackUrl")], [0, 1]],
      ["mediaTypes", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "MediaTypes")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => UserMap,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UserMap"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIProperty"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]],
      ["eTAccountUser", ["AccountUser", XSD::QName.new(NsPartnerAPI, "ETAccountUser")]],
      ["additionalData", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "AdditionalData")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => Folder,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Folder"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIProperty"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")]],
      ["parentID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ParentID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => FileTransferLocation,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FileTransferLocation"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtractActivity,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtractActivity"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => MessageSendActivity,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MessageSendActivity"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SmsSendActivity,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SmsSendActivity"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ReportActivity,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ReportActivity"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtension,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtension"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["isSendable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendable")], [0, 1]],
      ["isTestable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTestable")], [0, 1]],
      ["sendableDataExtensionField", ["DataExtensionField", XSD::QName.new(NsPartnerAPI, "SendableDataExtensionField")], [0, 1]],
      ["sendableSubscriberField", ["Attribute", XSD::QName.new(NsPartnerAPI, "SendableSubscriberField")], [0, 1]],
      ["template", ["DataExtensionTemplate", XSD::QName.new(NsPartnerAPI, "Template")], [0, 1]],
      ["dataRetentionPeriodLength", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DataRetentionPeriodLength")], [0, 1]],
      ["dataRetentionPeriodUnitOfMeasure", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DataRetentionPeriodUnitOfMeasure")], [0, 1]],
      ["rowBasedRetention", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "RowBasedRetention")], [0, 1]],
      ["resetRetentionPeriodOnImport", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "ResetRetentionPeriodOnImport")], [0, 1]],
      ["deleteAtEndOfRetentionPeriod", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DeleteAtEndOfRetentionPeriod")], [0, 1]],
      ["retainUntil", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RetainUntil")], [0, 1]],
      ["fields", ["DataExtension::Fields", XSD::QName.new(NsPartnerAPI, "Fields")], [0, 1]],
      ["dataRetentionPeriod", ["DateTimeUnitOfMeasure", XSD::QName.new(NsPartnerAPI, "DataRetentionPeriod")], [0, 1]],
      ["categoryID", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtension::Fields,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Fields"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["field", ["DataExtensionField[]", XSD::QName.new(NsPartnerAPI, "Field")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionField,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionField"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "PropertyDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["dataType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DataType")], [0, 1]],
      ["valueType", ["SoapType", XSD::QName.new(NsPartnerAPI, "ValueType")], [0, 1]],
      ["propertyType", ["PropertyType", XSD::QName.new(NsPartnerAPI, "PropertyType")], [0, 1]],
      ["isCreatable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsCreatable")], [0, 1]],
      ["isUpdatable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsUpdatable")], [0, 1]],
      ["isRetrievable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRetrievable")], [0, 1]],
      ["isQueryable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsQueryable")], [0, 1]],
      ["isFilterable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsFilterable")], [0, 1]],
      ["isPartnerProperty", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsPartnerProperty")], [0, 1]],
      ["isAccountProperty", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAccountProperty")], [0, 1]],
      ["partnerMap", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerMap")], [0, 1]],
      ["attributeMaps", ["AttributeMap[]", XSD::QName.new(NsPartnerAPI, "AttributeMaps")], [0, nil]],
      ["markups", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Markups")], [0, nil]],
      ["precision", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Precision")], [0, 1]],
      ["scale", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Scale")], [0, 1]],
      ["label", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Label")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["defaultValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DefaultValue")], [0, 1]],
      ["minLength", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MinLength")], [0, 1]],
      ["maxLength", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MaxLength")], [0, 1]],
      ["minValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "MinValue")], [0, 1]],
      ["maxValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "MaxValue")], [0, 1]],
      ["isRequired", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRequired")], [0, 1]],
      ["isViewable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsViewable")], [0, 1]],
      ["isEditable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsEditable")], [0, 1]],
      ["isNillable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsNillable")], [0, 1]],
      ["isRestrictedPicklist", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRestrictedPicklist")], [0, 1]],
      ["picklistItems", ["DataExtensionField::PicklistItems", XSD::QName.new(NsPartnerAPI, "PicklistItems")], [0, 1]],
      ["isSendTime", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendTime")], [0, 1]],
      ["displayOrder", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DisplayOrder")], [0, 1]],
      ["references", ["DataExtensionField::References", XSD::QName.new(NsPartnerAPI, "References")], [0, 1]],
      ["relationshipName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RelationshipName")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["isContextSpecific", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsContextSpecific")], [0, 1]],
      ["ordinal", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Ordinal")], [0, 1]],
      ["isPrimaryKey", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsPrimaryKey")], [0, 1]],
      ["fieldType", ["DataExtensionFieldType", XSD::QName.new(NsPartnerAPI, "FieldType")], [0, 1]],
      ["dataExtension", ["DataExtension", XSD::QName.new(NsPartnerAPI, "DataExtension")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionField::PicklistItems,
    :schema_name => XSD::QName.new(NsPartnerAPI, "PicklistItems"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["picklistItem", ["PicklistItem[]", XSD::QName.new(NsPartnerAPI, "PicklistItem")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionField::References,
    :schema_name => XSD::QName.new(NsPartnerAPI, "References"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["reference", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Reference")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionTemplate,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionTemplate"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionObject,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionObject"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "ObjectExtension"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["properties", ["DataExtensionObject::Properties", XSD::QName.new(NsPartnerAPI, "Properties")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["keys", ["DataExtensionObject::Keys", XSD::QName.new(NsPartnerAPI, "Keys")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionObject::Properties,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Properties"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["property", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Property")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionObject::Keys,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Keys"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["key", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Key")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionError,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionError"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInteger", XSD::QName.new(NsPartnerAPI, "ErrorCode")]],
      ["errorMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorMessage")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionCreateResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionCreateResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "CreateResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["newID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NewID")]],
      ["newObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NewObjectID")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")], [0, 1]],
      ["createResults", ["CreateResult[]", XSD::QName.new(NsPartnerAPI, "CreateResults")], [0, nil]],
      ["parentPropertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentPropertyName")], [0, 1]],
      ["errorMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorMessage")], [0, 1]],
      ["keyErrors", ["DataExtensionCreateResult::KeyErrors", XSD::QName.new(NsPartnerAPI, "KeyErrors")], [0, 1]],
      ["valueErrors", ["DataExtensionCreateResult::ValueErrors", XSD::QName.new(NsPartnerAPI, "ValueErrors")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionCreateResult::KeyErrors,
    :schema_name => XSD::QName.new(NsPartnerAPI, "KeyErrors"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["keyError", ["DataExtensionError[]", XSD::QName.new(NsPartnerAPI, "KeyError")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionCreateResult::ValueErrors,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ValueErrors"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["valueError", ["DataExtensionError[]", XSD::QName.new(NsPartnerAPI, "ValueError")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionUpdateResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionUpdateResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "UpdateResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["updateResults", ["UpdateResult[]", XSD::QName.new(NsPartnerAPI, "UpdateResults")], [0, nil]],
      ["parentPropertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentPropertyName")], [0, 1]],
      ["errorMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorMessage")], [0, 1]],
      ["keyErrors", ["DataExtensionUpdateResult::KeyErrors", XSD::QName.new(NsPartnerAPI, "KeyErrors")], [0, 1]],
      ["valueErrors", ["DataExtensionUpdateResult::ValueErrors", XSD::QName.new(NsPartnerAPI, "ValueErrors")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionUpdateResult::KeyErrors,
    :schema_name => XSD::QName.new(NsPartnerAPI, "KeyErrors"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["keyError", ["DataExtensionError[]", XSD::QName.new(NsPartnerAPI, "KeyError")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionUpdateResult::ValueErrors,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ValueErrors"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["valueError", ["DataExtensionError[]", XSD::QName.new(NsPartnerAPI, "ValueError")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionDeleteResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionDeleteResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "DeleteResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["errorMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorMessage")], [0, 1]],
      ["keyErrors", ["DataExtensionDeleteResult::KeyErrors", XSD::QName.new(NsPartnerAPI, "KeyErrors")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => DataExtensionDeleteResult::KeyErrors,
    :schema_name => XSD::QName.new(NsPartnerAPI, "KeyErrors"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["keyError", ["DataExtensionError[]", XSD::QName.new(NsPartnerAPI, "KeyError")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ImportDefinitionColumnBasedAction,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionColumnBasedAction"),
    :schema_element => [
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")], [0, 1]],
      ["action", ["ImportDefinitionColumnBasedActionType", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => FieldMap,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FieldMap"),
    :schema_element => [
      [ :choice,
        ["sourceName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SourceName")]],
        ["sourceOrdinal", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SourceOrdinal")]]
      ],
      ["destinationName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DestinationName")]]
    ]
  )

  EncodedRegistry.register(
    :class => ImportDefinitionAutoGenerateDestination,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionAutoGenerateDestination"),
    :schema_element => [
      ["dataExtensionTarget", ["DataExtension", XSD::QName.new(NsPartnerAPI, "DataExtensionTarget")]],
      ["errorIfExists", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "ErrorIfExists")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ImportDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["allowErrors", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "AllowErrors")], [0, 1]],
      ["destinationObject", ["APIObject", XSD::QName.new(NsPartnerAPI, "DestinationObject")], [0, 1]],
      ["fieldMappingType", ["ImportDefinitionFieldMappingType", XSD::QName.new(NsPartnerAPI, "FieldMappingType")], [0, 1]],
      ["fieldMaps", ["ImportDefinition::FieldMaps", XSD::QName.new(NsPartnerAPI, "FieldMaps")], [0, 1]],
      ["fileSpec", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileSpec")], [0, 1]],
      ["fileType", ["FileType", XSD::QName.new(NsPartnerAPI, "FileType")], [0, 1]],
      ["notification", ["AsyncResponse", XSD::QName.new(NsPartnerAPI, "Notification")], [0, 1]],
      ["retrieveFileTransferLocation", ["FileTransferLocation", XSD::QName.new(NsPartnerAPI, "RetrieveFileTransferLocation")], [0, 1]],
      ["subscriberImportType", ["ImportDefinitionSubscriberImportType", XSD::QName.new(NsPartnerAPI, "SubscriberImportType")], [0, 1]],
      ["updateType", ["ImportDefinitionUpdateType", XSD::QName.new(NsPartnerAPI, "UpdateType")], [0, 1]],
      ["maxFileAge", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MaxFileAge")], [0, 1]],
      ["maxFileAgeScheduleOffset", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MaxFileAgeScheduleOffset")], [0, 1]],
      ["maxImportFrequency", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MaxImportFrequency")], [0, 1]],
      ["delimiter", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Delimiter")], [0, 1]],
      ["headerLines", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "HeaderLines")], [0, 1]],
      ["autoGenerateDestination", ["ImportDefinitionAutoGenerateDestination", XSD::QName.new(NsPartnerAPI, "AutoGenerateDestination")], [0, 1]],
      ["controlColumn", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ControlColumn")], [0, 1]],
      ["controlColumnDefaultAction", ["ImportDefinitionColumnBasedActionType", XSD::QName.new(NsPartnerAPI, "ControlColumnDefaultAction")], [0, 1]],
      ["controlColumnActions", ["ImportDefinition::ControlColumnActions", XSD::QName.new(NsPartnerAPI, "ControlColumnActions")], [0, 1]],
      ["endOfLineRepresentation", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EndOfLineRepresentation")], [0, 1]],
      ["nullRepresentation", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NullRepresentation")], [0, 1]],
      ["standardQuotedStrings", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "StandardQuotedStrings")], [0, 1]],
      ["dateFormattingLocale", ["Locale", XSD::QName.new(NsPartnerAPI, "DateFormattingLocale")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ImportDefinition::FieldMaps,
    :schema_name => XSD::QName.new(NsPartnerAPI, "FieldMaps"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["fieldMap", ["FieldMap[]", XSD::QName.new(NsPartnerAPI, "FieldMap")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ImportDefinition::ControlColumnActions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ControlColumnActions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["controlColumnAction", ["ImportDefinitionColumnBasedAction[]", XSD::QName.new(NsPartnerAPI, "ControlColumnAction")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => ImportDefinitionFieldMap,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionFieldMap"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      [ :choice,
        ["sourceName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SourceName")]],
        ["sourceOrdinal", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SourceOrdinal")]]
      ],
      ["destinationName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DestinationName")]]
    ]
  )

  EncodedRegistry.register(
    :class => ImportResultsSummary,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportResultsSummary"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["importDefinitionCustomerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ImportDefinitionCustomerKey")], [0, 1]],
      ["startDate", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StartDate")], [0, 1]],
      ["endDate", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EndDate")], [0, 1]],
      ["destinationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DestinationID")], [0, 1]],
      ["numberSuccessful", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberSuccessful")], [0, 1]],
      ["numberDuplicated", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberDuplicated")], [0, 1]],
      ["numberErrors", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberErrors")], [0, 1]],
      ["totalRows", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "TotalRows")], [0, 1]],
      ["importType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ImportType")], [0, 1]],
      ["importStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ImportStatus")], [0, 1]],
      ["taskResultID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "TaskResultID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => FilterDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FilterDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["dataSource", ["APIObject", XSD::QName.new(NsPartnerAPI, "DataSource")], [0, 1]],
      ["dataFilter", ["FilterPart", XSD::QName.new(NsPartnerAPI, "DataFilter")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => GroupDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "GroupDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => FileTransferActivity,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FileTransferActivity"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ListSend,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ListSend"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["duplicates", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Duplicates")], [0, 1]],
      ["invalidAddresses", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "InvalidAddresses")], [0, 1]],
      ["existingUndeliverables", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ExistingUndeliverables")], [0, 1]],
      ["existingUnsubscribes", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ExistingUnsubscribes")], [0, 1]],
      ["hardBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "HardBounces")], [0, 1]],
      ["softBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SoftBounces")], [0, 1]],
      ["otherBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OtherBounces")], [0, 1]],
      ["forwardedEmails", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ForwardedEmails")], [0, 1]],
      ["uniqueClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueClicks")], [0, 1]],
      ["uniqueOpens", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueOpens")], [0, 1]],
      ["numberSent", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberSent")], [0, 1]],
      ["numberDelivered", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberDelivered")], [0, 1]],
      ["unsubscribes", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Unsubscribes")], [0, 1]],
      ["missingAddresses", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MissingAddresses")], [0, 1]],
      ["previewURL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PreviewURL")], [0, 1]],
      ["links", ["Link[]", XSD::QName.new(NsPartnerAPI, "Links")], [0, nil]],
      ["events", ["TrackingEvent[]", XSD::QName.new(NsPartnerAPI, "Events")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => LinkSend,
    :schema_type => XSD::QName.new(NsPartnerAPI, "LinkSend"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["link", ["Link", XSD::QName.new(NsPartnerAPI, "Link")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ObjectExtension,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ObjectExtension"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["properties", ["ObjectExtension::Properties", XSD::QName.new(NsPartnerAPI, "Properties")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ObjectExtension::Properties,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Properties"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["property", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Property")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => PublicKeyManagement,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PublicKeyManagement"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["key", ["SOAP::SOAPBase64", XSD::QName.new(NsPartnerAPI, "Key")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SecurityObject,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SecurityObject"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Certificate,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Certificate"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SecurityObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SystemStatusOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SystemStatusOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["SystemStatusOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SystemStatusOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => SystemStatusResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SystemStatusResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["systemStatus", ["SystemStatusType", XSD::QName.new(NsPartnerAPI, "SystemStatus")]],
      ["outages", ["SystemStatusResult::Outages", XSD::QName.new(NsPartnerAPI, "Outages")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SystemStatusResult::Outages,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Outages"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["outage", ["SystemOutage[]", XSD::QName.new(NsPartnerAPI, "Outage")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => SystemOutage,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SystemOutage"),
    :schema_element => []
  )

  EncodedRegistry.register(
    :class => Authentication,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Authentication"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => UsernameAuthentication,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UsernameAuthentication"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Authentication"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["userName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "UserName")], [0, 1]],
      ["passWord", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PassWord")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ResourceSpecification,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ResourceSpecification"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["uRN", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "URN")], [0, 1]],
      ["authentication", ["Authentication", XSD::QName.new(NsPartnerAPI, "Authentication")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Portfolio,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Portfolio"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["source", ["ResourceSpecification", XSD::QName.new(NsPartnerAPI, "Source")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["fileName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileName")], [0, 1]],
      ["displayName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DisplayName")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["typeDescription", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TypeDescription")], [0, 1]],
      ["isUploaded", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsUploaded")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["fileSizeKB", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "FileSizeKB")], [0, 1]],
      ["thumbSizeKB", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ThumbSizeKB")], [0, 1]],
      ["fileWidthPX", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "FileWidthPX")], [0, 1]],
      ["fileHeightPX", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "FileHeightPX")], [0, 1]],
      ["fileURL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileURL")], [0, 1]],
      ["thumbURL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ThumbURL")], [0, 1]],
      ["cacheClearTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CacheClearTime")], [0, 1]],
      ["categoryType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CategoryType")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Layout,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Layout"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["layoutName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "LayoutName")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => QueryDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "QueryDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["queryText", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "QueryText")], [0, 1]],
      ["targetType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TargetType")], [0, 1]],
      ["dataExtensionTarget", ["InteractionBaseObject", XSD::QName.new(NsPartnerAPI, "DataExtensionTarget")], [0, 1]],
      ["targetUpdateType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TargetUpdateType")], [0, 1]],
      ["fileSpec", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileSpec")], [0, 1]],
      ["fileType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileType")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => IntegrationProfile,
    :schema_type => XSD::QName.new(NsPartnerAPI, "IntegrationProfile"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["profileID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ProfileID")]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")]],
      ["externalID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExternalID")]],
      ["externalType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExternalType")]]
    ]
  )

  EncodedRegistry.register(
    :class => IntegrationProfileDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "IntegrationProfileDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["profileID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ProfileID")]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")]],
      ["externalSystemType", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ExternalSystemType")]]
    ]
  )

  EncodedRegistry.register(
    :class => ReplyMailManagementConfiguration,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ReplyMailManagementConfiguration"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["emailDisplayName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailDisplayName")], [0, 1]],
      ["replySubdomain", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ReplySubdomain")], [0, 1]],
      ["emailReplyAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailReplyAddress")], [0, 1]],
      ["dNSRedirectComplete", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DNSRedirectComplete")], [0, 1]],
      ["deleteAutoReplies", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DeleteAutoReplies")], [0, 1]],
      ["supportUnsubscribes", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportUnsubscribes")], [0, 1]],
      ["supportUnsubKeyword", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportUnsubKeyword")], [0, 1]],
      ["supportUnsubscribeKeyword", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportUnsubscribeKeyword")], [0, 1]],
      ["supportRemoveKeyword", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportRemoveKeyword")], [0, 1]],
      ["supportOptOutKeyword", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportOptOutKeyword")], [0, 1]],
      ["supportLeaveKeyword", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportLeaveKeyword")], [0, 1]],
      ["supportMisspelledKeywords", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportMisspelledKeywords")], [0, 1]],
      ["sendAutoReplies", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SendAutoReplies")], [0, 1]],
      ["autoReplySubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoReplySubject")], [0, 1]],
      ["autoReplyBody", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoReplyBody")], [0, 1]],
      ["forwardingAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ForwardingAddress")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => FileTrigger,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FileTrigger"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["externalReference", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExternalReference")], [0, 1]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")], [0, 1]],
      ["requestParameterDetail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestParameterDetail")], [0, 1]],
      ["responseControlManifest", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResponseControlManifest")], [0, 1]],
      ["fileName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileName")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["lastPullDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "LastPullDate")], [0, 1]],
      ["scheduledDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledDate")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["fileTriggerProgramID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileTriggerProgramID")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => FileTriggerTypeLastPull,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FileTriggerTypeLastPull"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["externalReference", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExternalReference")], [0, 1]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["lastPullDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "LastPullDate")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ProgramManifestTemplate,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ProgramManifestTemplate"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["operationType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OperationType")], [0, 1]],
      ["content", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Content")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SubscriberAddress,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberAddress"),
    :schema_element => [
      ["addressType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AddressType")], [0, 1]],
      ["address", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Address")], [0, 1]],
      ["statuses", ["SubscriberAddress::Statuses", XSD::QName.new(NsPartnerAPI, "Statuses")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SubscriberAddress::Statuses,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Statuses"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["status", ["AddressStatus[]", XSD::QName.new(NsPartnerAPI, "Status")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => SMSAddress,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SMSAddress"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SubscriberAddress"),
    :schema_element => [
      ["addressType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AddressType")], [0, 1]],
      ["address", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Address")], [0, 1]],
      ["statuses", ["SMSAddress::Statuses", XSD::QName.new(NsPartnerAPI, "Statuses")], [0, 1]],
      ["carrier", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Carrier")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => SMSAddress::Statuses,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Statuses"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["status", ["AddressStatus[]", XSD::QName.new(NsPartnerAPI, "Status")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => EmailAddress,
    :schema_type => XSD::QName.new(NsPartnerAPI, "EmailAddress"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SubscriberAddress"),
    :schema_element => [
      ["addressType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AddressType")], [0, 1]],
      ["address", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Address")], [0, 1]],
      ["statuses", ["EmailAddress::Statuses", XSD::QName.new(NsPartnerAPI, "Statuses")], [0, 1]],
      ["type", ["EmailType", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => EmailAddress::Statuses,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Statuses"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["status", ["AddressStatus[]", XSD::QName.new(NsPartnerAPI, "Status")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => AddressStatus,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AddressStatus"),
    :schema_element => [
      ["status", ["SubscriberAddressStatus", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Publication,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Publication"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["subscribers", ["Publication::Subscribers", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, 1]],
      ["category", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Category")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Publication::Subscribers,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Subscribers"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["subscriber", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => PublicationSubscriber,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PublicationSubscriber"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["publication", ["Publication", XSD::QName.new(NsPartnerAPI, "Publication")], [0, 1]],
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => APIFault,
    :schema_type => XSD::QName.new(NsFaultPartnerExacttargetCom, "APIFault"),
    :schema_element => [
      ["code", ["SOAP::SOAPInt", XSD::QName.new(NsFaultPartnerExacttargetCom, "Code")]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsFaultPartnerExacttargetCom, "Message")]],
      ["logID", ["SOAP::SOAPLong", XSD::QName.new(NsFaultPartnerExacttargetCom, "LogID")], [0, 1]],
      ["params", ["APIFault::Params", XSD::QName.new(NsFaultPartnerExacttargetCom, "Params")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => APIFault::Params,
    :schema_name => XSD::QName.new(NsFaultPartnerExacttargetCom, "Params"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["param", ["SOAP::SOAPString[]", XSD::QName.new(NsFaultPartnerExacttargetCom, "Param")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => AsyncResponseType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AsyncResponseType")
  )

  EncodedRegistry.register(
    :class => Priority,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Priority")
  )

  EncodedRegistry.register(
    :class => RequestType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RequestType")
  )

  EncodedRegistry.register(
    :class => RespondWhen,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RespondWhen")
  )

  EncodedRegistry.register(
    :class => SaveAction,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SaveAction")
  )

  EncodedRegistry.register(
    :class => SimpleOperators,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SimpleOperators")
  )

  EncodedRegistry.register(
    :class => LogicalOperators,
    :schema_type => XSD::QName.new(NsPartnerAPI, "LogicalOperators")
  )

  EncodedRegistry.register(
    :class => SoapType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SoapType")
  )

  EncodedRegistry.register(
    :class => PropertyType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PropertyType")
  )

  EncodedRegistry.register(
    :class => RecurrenceTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RecurrenceTypeEnum")
  )

  EncodedRegistry.register(
    :class => RecurrenceRangeTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RecurrenceRangeTypeEnum")
  )

  EncodedRegistry.register(
    :class => MinutelyRecurrencePatternTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MinutelyRecurrencePatternTypeEnum")
  )

  EncodedRegistry.register(
    :class => HourlyRecurrencePatternTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "HourlyRecurrencePatternTypeEnum")
  )

  EncodedRegistry.register(
    :class => DailyRecurrencePatternTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DailyRecurrencePatternTypeEnum")
  )

  EncodedRegistry.register(
    :class => WeeklyRecurrencePatternTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "WeeklyRecurrencePatternTypeEnum")
  )

  EncodedRegistry.register(
    :class => MonthlyRecurrencePatternTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MonthlyRecurrencePatternTypeEnum")
  )

  EncodedRegistry.register(
    :class => WeekOfMonthEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "WeekOfMonthEnum")
  )

  EncodedRegistry.register(
    :class => DayOfWeekEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DayOfWeekEnum")
  )

  EncodedRegistry.register(
    :class => YearlyRecurrencePatternTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "YearlyRecurrencePatternTypeEnum")
  )

  EncodedRegistry.register(
    :class => MonthOfYearEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MonthOfYearEnum")
  )

  EncodedRegistry.register(
    :class => ExtractParameterDataType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractParameterDataType")
  )

  EncodedRegistry.register(
    :class => UnsubscribeBehaviorEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UnsubscribeBehaviorEnum")
  )

  EncodedRegistry.register(
    :class => AccountTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AccountTypeEnum")
  )

  EncodedRegistry.register(
    :class => LayoutType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "LayoutType")
  )

  EncodedRegistry.register(
    :class => EventType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "EventType")
  )

  EncodedRegistry.register(
    :class => CompressionType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "CompressionType")
  )

  EncodedRegistry.register(
    :class => CompressionEncoding,
    :schema_type => XSD::QName.new(NsPartnerAPI, "CompressionEncoding")
  )

  EncodedRegistry.register(
    :class => SubscriberStatus,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberStatus")
  )

  EncodedRegistry.register(
    :class => EmailType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "EmailType")
  )

  EncodedRegistry.register(
    :class => ListTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ListTypeEnum")
  )

  EncodedRegistry.register(
    :class => ListClassificationEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ListClassificationEnum")
  )

  EncodedRegistry.register(
    :class => TriggeredSendTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSendTypeEnum")
  )

  EncodedRegistry.register(
    :class => TriggeredSendStatusEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSendStatusEnum")
  )

  EncodedRegistry.register(
    :class => SendClassificationTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendClassificationTypeEnum")
  )

  EncodedRegistry.register(
    :class => DeliveryProfileSourceAddressTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DeliveryProfileSourceAddressTypeEnum")
  )

  EncodedRegistry.register(
    :class => DeliveryProfileDomainTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DeliveryProfileDomainTypeEnum")
  )

  EncodedRegistry.register(
    :class => SalutationSourceEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SalutationSourceEnum")
  )

  EncodedRegistry.register(
    :class => SendDefinitionStatusEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendDefinitionStatusEnum")
  )

  EncodedRegistry.register(
    :class => SendDefinitionListTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendDefinitionListTypeEnum")
  )

  EncodedRegistry.register(
    :class => DataSourceTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataSourceTypeEnum")
  )

  EncodedRegistry.register(
    :class => DataExtensionFieldType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionFieldType")
  )

  EncodedRegistry.register(
    :class => DateTimeUnitOfMeasure,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DateTimeUnitOfMeasure")
  )

  EncodedRegistry.register(
    :class => FileType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FileType")
  )

  EncodedRegistry.register(
    :class => ImportDefinitionSubscriberImportType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionSubscriberImportType")
  )

  EncodedRegistry.register(
    :class => ImportDefinitionUpdateType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionUpdateType")
  )

  EncodedRegistry.register(
    :class => ImportDefinitionColumnBasedActionType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionColumnBasedActionType")
  )

  EncodedRegistry.register(
    :class => ImportDefinitionFieldMappingType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionFieldMappingType")
  )

  EncodedRegistry.register(
    :class => SystemStatusType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SystemStatusType")
  )

  EncodedRegistry.register(
    :class => SubscriberAddressStatus,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberAddressStatus")
  )

  LiteralRegistry.register(
    :class => APIObject,
    :schema_type => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ClientID,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ClientID"),
    :schema_element => [
      ["clientID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ClientID")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["partnerClientKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerClientKey")], [0, 1]],
      ["userID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UserID")], [0, 1]],
      ["partnerUserKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerUserKey")], [0, 1]],
      ["createdBy", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CreatedBy")], [0, 1]],
      ["modifiedBy", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ModifiedBy")], [0, 1]],
      ["enterpriseID", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "EnterpriseID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => APIProperty,
    :schema_type => XSD::QName.new(NsPartnerAPI, "APIProperty"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]]
    ]
  )

  LiteralRegistry.register(
    :class => NullAPIProperty,
    :schema_type => XSD::QName.new(NsPartnerAPI, "NullAPIProperty"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIProperty"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]]
    ]
  )

  LiteralRegistry.register(
    :class => Owner,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Owner"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => AsyncResponse,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AsyncResponse"),
    :schema_element => [
      ["responseType", ["AsyncResponseType", XSD::QName.new(NsPartnerAPI, "ResponseType")]],
      ["responseAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResponseAddress")]],
      ["respondWhen", ["RespondWhen", XSD::QName.new(NsPartnerAPI, "RespondWhen")], [0, 1]],
      ["includeResults", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IncludeResults")], [0, 1]],
      ["includeObjects", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IncludeObjects")], [0, 1]],
      ["onlyIncludeBase", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "OnlyIncludeBase")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ContainerID,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ContainerID"),
    :schema_element => [
      ["aPIObject", ["APIObject", XSD::QName.new(NsPartnerAPI, "APIObject")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Result,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ResultMessage,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ResultMessage"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")], [0, 1]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ResultItem,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ResultItem"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["requestObjectType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestObjectType")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => TaskResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TaskResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["iD", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SaveOption,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SaveOption"),
    :schema_element => [
      ["propertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PropertyName")]],
      ["saveAction", ["SaveAction", XSD::QName.new(NsPartnerAPI, "SaveAction")]]
    ]
  )

  LiteralRegistry.register(
    :class => CreateResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "CreateResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["newID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NewID")]],
      ["newObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NewObjectID")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")], [0, 1]],
      ["createResults", ["CreateResult[]", XSD::QName.new(NsPartnerAPI, "CreateResults")], [0, nil]],
      ["parentPropertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentPropertyName")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => CreateOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "CreateOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["CreateOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["container", ["ContainerID", XSD::QName.new(NsPartnerAPI, "Container")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => CreateOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => UpdateOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UpdateOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["UpdateOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["container", ["ContainerID", XSD::QName.new(NsPartnerAPI, "Container")], [0, 1]],
      ["action", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => UpdateOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => UpdateResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UpdateResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["updateResults", ["UpdateResult[]", XSD::QName.new(NsPartnerAPI, "UpdateResults")], [0, nil]],
      ["parentPropertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentPropertyName")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DeleteOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DeleteOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["DeleteOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DeleteOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DeleteResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DeleteResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]]
    ]
  )

  LiteralRegistry.register(
    :class => RetrieveRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RetrieveRequest"),
    :schema_element => [
      ["clientIDs", ["ClientID[]", XSD::QName.new(NsPartnerAPI, "ClientIDs")], [0, nil]],
      ["objectType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectType")]],
      ["properties", ["SOAP::SOAPString[]", XSD::QName.new(NsPartnerAPI, "Properties")], [0, nil]],
      ["filter", ["FilterPart", XSD::QName.new(NsPartnerAPI, "Filter")], [0, 1]],
      ["respondTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "RespondTo")], [0, nil]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["continueRequest", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ContinueRequest")], [0, 1]],
      ["queryAllAccounts", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "QueryAllAccounts")], [0, 1]],
      ["retrieveAllSinceLastBatch", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "RetrieveAllSinceLastBatch")], [0, 1]],
      ["repeatLastResult", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "RepeatLastResult")], [0, 1]],
      ["retrieves", ["RetrieveRequest::Retrieves", XSD::QName.new(NsPartnerAPI, "Retrieves")], [0, 1]],
      ["options", ["RetrieveOptions", XSD::QName.new(NsPartnerAPI, "Options")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => RetrieveRequest::Retrieves,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Retrieves"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["request", ["Request[]", XSD::QName.new(NsPartnerAPI, "Request")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => RetrieveSingleRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RetrieveSingleRequest"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Request"),
    :schema_element => [
      ["requestedObject", ["APIObject", XSD::QName.new(NsPartnerAPI, "RequestedObject")]],
      ["retrieveOption", ["Options", XSD::QName.new(NsPartnerAPI, "RetrieveOption")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Parameters,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Parameters"),
    :schema_element => [
      ["parameter", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Parameter")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => RetrieveSingleOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RetrieveSingleOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["RetrieveSingleOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["parameters", ["Parameters", XSD::QName.new(NsPartnerAPI, "Parameters")]]
    ]
  )

  LiteralRegistry.register(
    :class => RetrieveSingleOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => RetrieveOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RetrieveOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["RetrieveOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["batchSize", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchSize")], [0, 1]],
      ["includeObjects", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IncludeObjects")], [0, 1]],
      ["onlyIncludeBase", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "OnlyIncludeBase")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => RetrieveOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => QueryRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "QueryRequest"),
    :schema_element => [
      ["clientIDs", ["ClientID[]", XSD::QName.new(NsPartnerAPI, "ClientIDs")], [0, nil]],
      ["query", ["Query", XSD::QName.new(NsPartnerAPI, "Query")]],
      ["respondTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "RespondTo")], [0, nil]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["continueRequest", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ContinueRequest")], [0, 1]],
      ["queryAllAccounts", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "QueryAllAccounts")], [0, 1]],
      ["retrieveAllSinceLastBatch", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "RetrieveAllSinceLastBatch")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => QueryObject,
    :schema_type => XSD::QName.new(NsPartnerAPI, "QueryObject"),
    :schema_element => [
      ["objectType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectType")]],
      ["properties", ["SOAP::SOAPString[]", XSD::QName.new(NsPartnerAPI, "Properties")], [1, nil]],
      ["objects", ["QueryObject[]", XSD::QName.new(NsPartnerAPI, "Objects")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => Query,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Query"),
    :schema_element => [
      ["object", ["QueryObject", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["filter", ["FilterPart", XSD::QName.new(NsPartnerAPI, "Filter")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => FilterPart,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FilterPart"),
    :schema_element => []
  )

  LiteralRegistry.register(
    :class => SimpleFilterPart,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SimpleFilterPart"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "FilterPart"),
    :schema_element => [
      ["property", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Property")]],
      ["simpleOperator", ["SimpleOperators", XSD::QName.new(NsPartnerAPI, "SimpleOperator")]],
      ["value", ["SOAP::SOAPString[]", XSD::QName.new(NsPartnerAPI, "Value")], [0, nil]],
      ["dateValue", ["SOAP::SOAPDateTime[]", XSD::QName.new(NsPartnerAPI, "DateValue")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => TagFilterPart,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TagFilterPart"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "FilterPart"),
    :schema_element => [
      ["tags", ["TagFilterPart::Tags", XSD::QName.new(NsPartnerAPI, "Tags")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => TagFilterPart::Tags,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Tags"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["tag", ["SOAP::SOAPString[]", XSD::QName.new(NsPartnerAPI, "Tag")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ComplexFilterPart,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ComplexFilterPart"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "FilterPart"),
    :schema_element => [
      ["leftOperand", ["FilterPart", XSD::QName.new(NsPartnerAPI, "LeftOperand")]],
      ["logicalOperator", ["LogicalOperators", XSD::QName.new(NsPartnerAPI, "LogicalOperator")]],
      ["rightOperand", ["FilterPart", XSD::QName.new(NsPartnerAPI, "RightOperand")], [0, 1]],
      ["additionalOperands", ["ComplexFilterPart::AdditionalOperands", XSD::QName.new(NsPartnerAPI, "AdditionalOperands")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ComplexFilterPart::AdditionalOperands,
    :schema_name => XSD::QName.new(NsPartnerAPI, "AdditionalOperands"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["operand", ["FilterPart[]", XSD::QName.new(NsPartnerAPI, "Operand")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ArrayOfObjectDefinitionRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ArrayOfObjectDefinitionRequest"),
    :schema_element => [
      ["objectDefinitionRequest", ["ObjectDefinitionRequest[]", XSD::QName.new(NsPartnerAPI, "ObjectDefinitionRequest")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ObjectDefinitionRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ObjectDefinitionRequest"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["objectType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectType")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PropertyDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PropertyDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["dataType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DataType")], [0, 1]],
      ["valueType", ["SoapType", XSD::QName.new(NsPartnerAPI, "ValueType")], [0, 1]],
      ["propertyType", ["PropertyType", XSD::QName.new(NsPartnerAPI, "PropertyType")], [0, 1]],
      ["isCreatable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsCreatable")], [0, 1]],
      ["isUpdatable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsUpdatable")], [0, 1]],
      ["isRetrievable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRetrievable")], [0, 1]],
      ["isQueryable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsQueryable")], [0, 1]],
      ["isFilterable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsFilterable")], [0, 1]],
      ["isPartnerProperty", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsPartnerProperty")], [0, 1]],
      ["isAccountProperty", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAccountProperty")], [0, 1]],
      ["partnerMap", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerMap")], [0, 1]],
      ["attributeMaps", ["AttributeMap[]", XSD::QName.new(NsPartnerAPI, "AttributeMaps")], [0, nil]],
      ["markups", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Markups")], [0, nil]],
      ["precision", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Precision")], [0, 1]],
      ["scale", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Scale")], [0, 1]],
      ["label", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Label")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["defaultValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DefaultValue")], [0, 1]],
      ["minLength", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MinLength")], [0, 1]],
      ["maxLength", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MaxLength")], [0, 1]],
      ["minValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "MinValue")], [0, 1]],
      ["maxValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "MaxValue")], [0, 1]],
      ["isRequired", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRequired")], [0, 1]],
      ["isViewable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsViewable")], [0, 1]],
      ["isEditable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsEditable")], [0, 1]],
      ["isNillable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsNillable")], [0, 1]],
      ["isRestrictedPicklist", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRestrictedPicklist")], [0, 1]],
      ["picklistItems", ["PropertyDefinition::PicklistItems", XSD::QName.new(NsPartnerAPI, "PicklistItems")], [0, 1]],
      ["isSendTime", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendTime")], [0, 1]],
      ["displayOrder", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DisplayOrder")], [0, 1]],
      ["references", ["PropertyDefinition::References", XSD::QName.new(NsPartnerAPI, "References")], [0, 1]],
      ["relationshipName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RelationshipName")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["isContextSpecific", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsContextSpecific")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PropertyDefinition::PicklistItems,
    :schema_name => XSD::QName.new(NsPartnerAPI, "PicklistItems"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["picklistItem", ["PicklistItem[]", XSD::QName.new(NsPartnerAPI, "PicklistItem")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => PropertyDefinition::References,
    :schema_name => XSD::QName.new(NsPartnerAPI, "References"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["reference", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Reference")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ObjectDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ObjectDefinition"),
    :schema_element => [
      ["objectType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectType")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["isCreatable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsCreatable")], [0, 1]],
      ["isUpdatable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsUpdatable")], [0, 1]],
      ["isRetrievable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRetrievable")], [0, 1]],
      ["isQueryable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsQueryable")], [0, 1]],
      ["isReference", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsReference")], [0, 1]],
      ["referencedType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ReferencedType")], [0, 1]],
      ["isPropertyCollection", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "IsPropertyCollection")], [0, 1]],
      ["isObjectCollection", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsObjectCollection")], [0, 1]],
      ["properties", ["PropertyDefinition[]", XSD::QName.new(NsPartnerAPI, "Properties")], [0, nil]],
      ["extendedProperties", ["ObjectDefinition::ExtendedProperties", XSD::QName.new(NsPartnerAPI, "ExtendedProperties")], [0, 1]],
      ["childObjects", ["ObjectDefinition[]", XSD::QName.new(NsPartnerAPI, "ChildObjects")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ObjectDefinition::ExtendedProperties,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ExtendedProperties"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["extendedProperty", ["PropertyDefinition[]", XSD::QName.new(NsPartnerAPI, "ExtendedProperty")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => AttributeMap,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AttributeMap"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIProperty"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]],
      ["entityName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EntityName")], [0, 1]],
      ["columnName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ColumnName")], [0, 1]],
      ["columnNameMappedTo", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ColumnNameMappedTo")], [0, 1]],
      ["entityNameMappedTo", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EntityNameMappedTo")], [0, 1]],
      ["additionalData", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "AdditionalData")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => PicklistItem,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PicklistItem"),
    :schema_element => [
      ["isDefaultValue", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsDefaultValue")], [0, 1]],
      ["label", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Label")], [0, 1]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ExecuteRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExecuteRequest"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["parameters", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Parameters")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ExecuteResponse,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExecuteResponse"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")], [0, 1]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")], [0, 1]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["results", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Results")], [0, nil]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => InteractionDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionBaseObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => InteractionBaseObject,
    :schema_type => XSD::QName.new(NsPartnerAPI, "InteractionBaseObject"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PerformOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PerformOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["PerformOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["explanation", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Explanation")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PerformOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => CampaignPerformOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "CampaignPerformOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "PerformOptions"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["CampaignPerformOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["explanation", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Explanation")], [0, 1]],
      ["occurrenceIDs", ["SOAP::SOAPString[]", XSD::QName.new(NsPartnerAPI, "OccurrenceIDs")], [0, nil]],
      ["occurrenceIDsIndex", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OccurrenceIDsIndex")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => CampaignPerformOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => PerformRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PerformRequest"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["action", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]],
      ["definitions", ["PerformRequest::Definitions", XSD::QName.new(NsPartnerAPI, "Definitions")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PerformRequest::Definitions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Definitions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["definition", ["InteractionBaseObject[]", XSD::QName.new(NsPartnerAPI, "Definition")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => PerformResponse,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PerformResponse"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")], [0, 1]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")], [0, 1]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["results", ["PerformResponse::Results", XSD::QName.new(NsPartnerAPI, "Results")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PerformResponse::Results,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Results"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["result", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Result")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => PerformResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PerformResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["task", ["TaskResult", XSD::QName.new(NsPartnerAPI, "Task")]]
    ]
  )

  LiteralRegistry.register(
    :class => ValidationAction,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ValidationAction"),
    :schema_element => [
      ["validationType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ValidationType")], [0, 1]],
      ["validationOptions", ["ValidationAction::ValidationOptions", XSD::QName.new(NsPartnerAPI, "ValidationOptions")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ValidationAction::ValidationOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ValidationOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["validationOption", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "ValidationOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => SpamAssassinValidation,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SpamAssassinValidation"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "ValidationAction"),
    :schema_element => [
      ["validationType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ValidationType")], [0, 1]],
      ["validationOptions", ["SpamAssassinValidation::ValidationOptions", XSD::QName.new(NsPartnerAPI, "ValidationOptions")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SpamAssassinValidation::ValidationOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ValidationOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["validationOption", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "ValidationOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ContentValidation,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ContentValidation"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["validationAction", ["ValidationAction", XSD::QName.new(NsPartnerAPI, "ValidationAction")], [0, 1]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["subscribers", ["ContentValidation::Subscribers", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ContentValidation::Subscribers,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Subscribers"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["subscriber", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ContentValidationResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ContentValidationResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "PerformResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["task", ["TaskResult", XSD::QName.new(NsPartnerAPI, "Task")]]
    ]
  )

  LiteralRegistry.register(
    :class => ValidationResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ValidationResult"),
    :schema_element => [
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]],
      ["checkTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CheckTime")], [0, 1]],
      ["checkTimeUTC", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CheckTimeUTC")], [0, 1]],
      ["isResultValid", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsResultValid")], [0, 1]],
      ["isSpam", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSpam")], [0, 1]],
      ["score", ["SOAP::SOAPDouble", XSD::QName.new(NsPartnerAPI, "Score")], [0, 1]],
      ["threshold", ["SOAP::SOAPDouble", XSD::QName.new(NsPartnerAPI, "Threshold")], [0, 1]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Message")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ContentValidationTaskResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ContentValidationTaskResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TaskResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["iD", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["validationResults", ["ContentValidationTaskResult::ValidationResults", XSD::QName.new(NsPartnerAPI, "ValidationResults")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ContentValidationTaskResult::ValidationResults,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ValidationResults"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["validationResult", ["ValidationResult[]", XSD::QName.new(NsPartnerAPI, "ValidationResult")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ConfigureOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ConfigureOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["ConfigureOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ConfigureOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ConfigureResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ConfigureResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]]
    ]
  )

  LiteralRegistry.register(
    :class => ScheduleDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ScheduleDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["recurrence", ["Recurrence", XSD::QName.new(NsPartnerAPI, "Recurrence")]],
      ["recurrenceType", ["RecurrenceTypeEnum", XSD::QName.new(NsPartnerAPI, "RecurrenceType")], [0, 1]],
      ["recurrenceRangeType", ["RecurrenceRangeTypeEnum", XSD::QName.new(NsPartnerAPI, "RecurrenceRangeType")], [0, 1]],
      ["startDateTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "StartDateTime")], [0, 1]],
      ["endDateTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EndDateTime")], [0, 1]],
      ["occurrences", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Occurrences")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ScheduleOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ScheduleOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["ScheduleOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ScheduleOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ScheduleResponse,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ScheduleResponse"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")], [0, 1]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")], [0, 1]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["results", ["ScheduleResponse::Results", XSD::QName.new(NsPartnerAPI, "Results")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ScheduleResponse::Results,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Results"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["result", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Result")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ScheduleResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ScheduleResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["ScheduleDefinition", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["task", ["TaskResult", XSD::QName.new(NsPartnerAPI, "Task")]]
    ]
  )

  LiteralRegistry.register(
    :class => MinutelyRecurrence,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MinutelyRecurrence"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Recurrence"),
    :schema_element => [
      ["minutelyRecurrencePatternType", ["MinutelyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "MinutelyRecurrencePatternType")], [0, 1]],
      ["minuteInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MinuteInterval")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => HourlyRecurrence,
    :schema_type => XSD::QName.new(NsPartnerAPI, "HourlyRecurrence"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Recurrence"),
    :schema_element => [
      ["hourlyRecurrencePatternType", ["HourlyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "HourlyRecurrencePatternType")], [0, 1]],
      ["hourInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "HourInterval")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DailyRecurrence,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DailyRecurrence"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Recurrence"),
    :schema_element => [
      ["dailyRecurrencePatternType", ["DailyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "DailyRecurrencePatternType")], [0, 1]],
      ["dayInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DayInterval")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => WeeklyRecurrence,
    :schema_type => XSD::QName.new(NsPartnerAPI, "WeeklyRecurrence"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Recurrence"),
    :schema_element => [
      ["weeklyRecurrencePatternType", ["WeeklyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "WeeklyRecurrencePatternType")], [0, 1]],
      ["weekInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "WeekInterval")], [0, 1]],
      ["sunday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Sunday")], [0, 1]],
      ["monday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Monday")], [0, 1]],
      ["tuesday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Tuesday")], [0, 1]],
      ["wednesday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Wednesday")], [0, 1]],
      ["thursday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Thursday")], [0, 1]],
      ["friday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Friday")], [0, 1]],
      ["saturday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Saturday")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => MonthlyRecurrence,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MonthlyRecurrence"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Recurrence"),
    :schema_element => [
      ["monthlyRecurrencePatternType", ["MonthlyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "MonthlyRecurrencePatternType")], [0, 1]],
      ["monthlyInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MonthlyInterval")], [0, 1]],
      ["scheduledDay", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ScheduledDay")], [0, 1]],
      ["scheduledWeek", ["WeekOfMonthEnum", XSD::QName.new(NsPartnerAPI, "ScheduledWeek")], [0, 1]],
      ["scheduledDayOfWeek", ["DayOfWeekEnum", XSD::QName.new(NsPartnerAPI, "ScheduledDayOfWeek")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => YearlyRecurrence,
    :schema_type => XSD::QName.new(NsPartnerAPI, "YearlyRecurrence"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Recurrence"),
    :schema_element => [
      ["yearlyRecurrencePatternType", ["YearlyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "YearlyRecurrencePatternType")], [0, 1]],
      ["scheduledDay", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ScheduledDay")], [0, 1]],
      ["scheduledWeek", ["WeekOfMonthEnum", XSD::QName.new(NsPartnerAPI, "ScheduledWeek")], [0, 1]],
      ["scheduledMonth", ["MonthOfYearEnum", XSD::QName.new(NsPartnerAPI, "ScheduledMonth")], [0, 1]],
      ["scheduledDayOfWeek", ["DayOfWeekEnum", XSD::QName.new(NsPartnerAPI, "ScheduledDayOfWeek")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractRequest,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractRequest"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Request"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["iD", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ID")]],
      ["options", ["ExtractOptions", XSD::QName.new(NsPartnerAPI, "Options")]],
      ["parameters", ["ExtractRequest::Parameters", XSD::QName.new(NsPartnerAPI, "Parameters")], [0, 1]],
      [ :choice,
        ["description", ["ExtractDescription", XSD::QName.new(NsPartnerAPI, "Description")]],
        ["definition", ["ExtractDefinition", XSD::QName.new(NsPartnerAPI, "Definition")]]
      ]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractRequest::Parameters,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Parameters"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["parameter", ["ExtractParameter[]", XSD::QName.new(NsPartnerAPI, "Parameter")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["request", ["ExtractRequest", XSD::QName.new(NsPartnerAPI, "Request")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["ExtractOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractParameter,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractParameter"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIProperty"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractTemplate,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractTemplate"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["configurationPage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConfigurationPage")], [0, 1]],
      ["packageKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PackageKey")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractDescription,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractDescription"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "ExtractTemplate"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["configurationPage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConfigurationPage")], [0, 1]],
      ["packageKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PackageKey")], [0, 1]],
      ["parameters", ["ExtractDescription::Parameters", XSD::QName.new(NsPartnerAPI, "Parameters")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractDescription::Parameters,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Parameters"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["parameter", ["ExtractParameterDescription[]", XSD::QName.new(NsPartnerAPI, "Parameter")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "ExtractTemplate"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["configurationPage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConfigurationPage")], [0, 1]],
      ["packageKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PackageKey")], [0, 1]],
      ["parameters", ["ExtractDefinition::Parameters", XSD::QName.new(NsPartnerAPI, "Parameters")], [0, 1]],
      ["values", ["ExtractDefinition::Values", XSD::QName.new(NsPartnerAPI, "Values")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractDefinition::Parameters,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Parameters"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["parameter", ["ExtractParameterDescription[]", XSD::QName.new(NsPartnerAPI, "Parameter")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractDefinition::Values,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Values"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["value", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Value")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ParameterDescription,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ParameterDescription"),
    :schema_element => []
  )

  LiteralRegistry.register(
    :class => ExtractParameterDescription,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractParameterDescription"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "ParameterDescription"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["dataType", ["ExtractParameterDataType", XSD::QName.new(NsPartnerAPI, "DataType")]],
      ["defaultValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DefaultValue")]],
      ["isOptional", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsOptional")]]
    ]
  )

  LiteralRegistry.register(
    :class => VersionInfoResponse,
    :schema_type => XSD::QName.new(NsPartnerAPI, "VersionInfoResponse"),
    :schema_element => [
      ["version", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Version")]],
      ["versionDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "VersionDate")]],
      ["notes", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Notes")]],
      ["versionHistory", ["VersionInfoResponse[]", XSD::QName.new(NsPartnerAPI, "VersionHistory")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => Locale,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Locale"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["localeCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "LocaleCode")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => TimeZone,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TimeZone"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Account,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Account"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["accountType", ["AccountTypeEnum", XSD::QName.new(NsPartnerAPI, "AccountType")]],
      ["parentID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ParentID")], [0, 1]],
      ["brandID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BrandID")], [0, 1]],
      ["privateLabelID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "PrivateLabelID")], [0, 1]],
      ["reportingParentID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ReportingParentID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["email", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["businessName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BusinessName")], [0, 1]],
      ["phone", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Phone")], [0, 1]],
      ["address", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Address")], [0, 1]],
      ["fax", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Fax")], [0, 1]],
      ["city", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "City")], [0, 1]],
      ["state", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "State")], [0, 1]],
      ["zip", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Zip")], [0, 1]],
      ["country", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Country")], [0, 1]],
      ["isActive", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["isTestAccount", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTestAccount")], [0, 1]],
      ["orgID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrgID")], [0, 1]],
      ["dBID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DBID")], [0, 1]],
      ["parentName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentName")], [0, 1]],
      ["customerID", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "CustomerID")], [0, 1]],
      ["deletedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "DeletedDate")], [0, 1]],
      ["editionID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "EditionID")], [0, 1]],
      ["children", ["AccountDataItem[]", XSD::QName.new(NsPartnerAPI, "Children")], [0, nil]],
      ["subscription", ["Subscription", XSD::QName.new(NsPartnerAPI, "Subscription")], [0, 1]],
      ["privateLabels", ["PrivateLabel[]", XSD::QName.new(NsPartnerAPI, "PrivateLabels")], [0, nil]],
      ["businessRules", ["BusinessRule[]", XSD::QName.new(NsPartnerAPI, "BusinessRules")], [0, nil]],
      ["accountUsers", ["AccountUser[]", XSD::QName.new(NsPartnerAPI, "AccountUsers")], [0, nil]],
      ["inheritAddress", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "InheritAddress")], [0, 1]],
      ["isTrialAccount", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTrialAccount")], [0, 1]],
      ["locale", ["Locale", XSD::QName.new(NsPartnerAPI, "Locale")], [0, 1]],
      ["parentAccount", ["Account", XSD::QName.new(NsPartnerAPI, "ParentAccount")], [0, 1]],
      ["timeZone", ["TimeZone", XSD::QName.new(NsPartnerAPI, "TimeZone")], [0, 1]],
      ["roles", ["Account::Roles", XSD::QName.new(NsPartnerAPI, "Roles")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Account::Roles,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Roles"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["role", ["Role[]", XSD::QName.new(NsPartnerAPI, "Role")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => BusinessUnit,
    :schema_type => XSD::QName.new(NsPartnerAPI, "BusinessUnit"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Account"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["accountType", ["AccountTypeEnum", XSD::QName.new(NsPartnerAPI, "AccountType")]],
      ["parentID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ParentID")], [0, 1]],
      ["brandID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BrandID")], [0, 1]],
      ["privateLabelID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "PrivateLabelID")], [0, 1]],
      ["reportingParentID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ReportingParentID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["email", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["businessName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BusinessName")], [0, 1]],
      ["phone", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Phone")], [0, 1]],
      ["address", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Address")], [0, 1]],
      ["fax", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Fax")], [0, 1]],
      ["city", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "City")], [0, 1]],
      ["state", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "State")], [0, 1]],
      ["zip", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Zip")], [0, 1]],
      ["country", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Country")], [0, 1]],
      ["isActive", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["isTestAccount", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTestAccount")], [0, 1]],
      ["orgID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrgID")], [0, 1]],
      ["dBID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DBID")], [0, 1]],
      ["parentName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentName")], [0, 1]],
      ["customerID", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "CustomerID")], [0, 1]],
      ["deletedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "DeletedDate")], [0, 1]],
      ["editionID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "EditionID")], [0, 1]],
      ["children", ["AccountDataItem[]", XSD::QName.new(NsPartnerAPI, "Children")], [0, nil]],
      ["subscription", ["Subscription", XSD::QName.new(NsPartnerAPI, "Subscription")], [0, 1]],
      ["privateLabels", ["PrivateLabel[]", XSD::QName.new(NsPartnerAPI, "PrivateLabels")], [0, nil]],
      ["businessRules", ["BusinessRule[]", XSD::QName.new(NsPartnerAPI, "BusinessRules")], [0, nil]],
      ["accountUsers", ["AccountUser[]", XSD::QName.new(NsPartnerAPI, "AccountUsers")], [0, nil]],
      ["inheritAddress", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "InheritAddress")], [0, 1]],
      ["isTrialAccount", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTrialAccount")], [0, 1]],
      ["locale", ["Locale", XSD::QName.new(NsPartnerAPI, "Locale")], [0, 1]],
      ["parentAccount", ["Account", XSD::QName.new(NsPartnerAPI, "ParentAccount")], [0, 1]],
      ["timeZone", ["TimeZone", XSD::QName.new(NsPartnerAPI, "TimeZone")], [0, 1]],
      ["roles", ["BusinessUnit::Roles", XSD::QName.new(NsPartnerAPI, "Roles")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["defaultSendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "DefaultSendClassification")], [0, 1]],
      ["defaultHomePage", ["LandingPage", XSD::QName.new(NsPartnerAPI, "DefaultHomePage")], [0, 1]],
      ["subscriberFilter", ["FilterPart", XSD::QName.new(NsPartnerAPI, "SubscriberFilter")], [0, 1]],
      ["masterUnsubscribeBehavior", ["UnsubscribeBehaviorEnum", XSD::QName.new(NsPartnerAPI, "MasterUnsubscribeBehavior")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => BusinessUnit::Roles,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Roles"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["role", ["Role[]", XSD::QName.new(NsPartnerAPI, "Role")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => LandingPage,
    :schema_type => XSD::QName.new(NsPartnerAPI, "LandingPage"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => AccountDataItem,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AccountDataItem"),
    :schema_element => [
      ["childAccountID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ChildAccountID")], [0, 1]],
      ["brandID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BrandID")], [0, 1]],
      ["privateLabelID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "PrivateLabelID")], [0, 1]],
      ["accountType", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "AccountType")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Subscription,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Subscription"),
    :schema_element => [
      ["subscriptionID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SubscriptionID")], [0, 1]],
      ["emailsPurchased", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "EmailsPurchased")]],
      ["accountsPurchased", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "AccountsPurchased")]],
      ["advAccountsPurchased", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "AdvAccountsPurchased")]],
      ["lPAccountsPurchased", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "LPAccountsPurchased")]],
      ["dOTOAccountsPurchased", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DOTOAccountsPurchased")]],
      ["bUAccountsPurchased", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BUAccountsPurchased")]],
      ["beginDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "BeginDate")]],
      ["endDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EndDate")]],
      ["notes", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Notes")], [0, 1]],
      ["period", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Period")]],
      ["notificationTitle", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NotificationTitle")], [0, 1]],
      ["notificationMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NotificationMessage")], [0, 1]],
      ["notificationFlag", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NotificationFlag")], [0, 1]],
      ["notificationExpDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "NotificationExpDate")], [0, 1]],
      ["forAccounting", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ForAccounting")], [0, 1]],
      ["hasPurchasedEmails", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "HasPurchasedEmails")]],
      ["contractNumber", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ContractNumber")], [0, 1]],
      ["contractModifier", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ContractModifier")], [0, 1]],
      ["isRenewal", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRenewal")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PrivateLabel,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PrivateLabel"),
    :schema_element => [
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["colorPaletteXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ColorPaletteXML")], [0, 1]],
      ["logoFile", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "LogoFile")], [0, 1]],
      ["delete", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Delete")]],
      ["setActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SetActive")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => AccountPrivateLabel,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AccountPrivateLabel"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["ownerMemberID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OwnerMemberID")]],
      ["colorPaletteXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ColorPaletteXML")]]
    ]
  )

  LiteralRegistry.register(
    :class => BusinessRule,
    :schema_type => XSD::QName.new(NsPartnerAPI, "BusinessRule"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["memberBusinessRuleID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MemberBusinessRuleID")]],
      ["businessRuleID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BusinessRuleID")]],
      ["data", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Data")]],
      ["quality", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Quality")]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["isViewable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsViewable")], [0, 1]],
      ["isInheritedFromParent", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsInheritedFromParent")], [0, 1]],
      ["displayName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DisplayName")]],
      ["productCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ProductCode")]]
    ]
  )

  LiteralRegistry.register(
    :class => AccountUser,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AccountUser"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["accountUserID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "AccountUserID")], [0, 1]],
      ["userID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "UserID")]],
      ["password", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Password")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["email", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Email")]],
      ["mustChangePassword", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "MustChangePassword")], [0, 1]],
      ["activeFlag", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "ActiveFlag")], [0, 1]],
      ["challengePhrase", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ChallengePhrase")], [0, 1]],
      ["challengeAnswer", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ChallengeAnswer")], [0, 1]],
      ["userPermissions", ["UserAccess[]", XSD::QName.new(NsPartnerAPI, "UserPermissions")], [0, nil]],
      ["delete", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Delete")]],
      ["lastSuccessfulLogin", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "LastSuccessfulLogin")], [0, 1]],
      ["isAPIUser", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAPIUser")], [0, 1]],
      ["notificationEmailAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NotificationEmailAddress")], [0, 1]],
      ["isLocked", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsLocked")], [0, 1]],
      ["unlock", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Unlock")], [0, 1]],
      ["businessUnit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BusinessUnit")], [0, 1]],
      ["defaultBusinessUnit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DefaultBusinessUnit")], [0, 1]],
      ["locale", ["Locale", XSD::QName.new(NsPartnerAPI, "Locale")], [0, 1]],
      ["timeZone", ["TimeZone", XSD::QName.new(NsPartnerAPI, "TimeZone")], [0, 1]],
      ["defaultBusinessUnitObject", ["BusinessUnit", XSD::QName.new(NsPartnerAPI, "DefaultBusinessUnitObject")], [0, 1]],
      ["associatedBusinessUnits", ["AccountUser::AssociatedBusinessUnits", XSD::QName.new(NsPartnerAPI, "AssociatedBusinessUnits")], [0, 1]],
      ["roles", ["AccountUser::Roles", XSD::QName.new(NsPartnerAPI, "Roles")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => AccountUser::AssociatedBusinessUnits,
    :schema_name => XSD::QName.new(NsPartnerAPI, "AssociatedBusinessUnits"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["businessUnit", ["BusinessUnit[]", XSD::QName.new(NsPartnerAPI, "BusinessUnit")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => AccountUser::Roles,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Roles"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["role", ["Role[]", XSD::QName.new(NsPartnerAPI, "Role")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => UserAccess,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UserAccess"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["delete", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Delete")]]
    ]
  )

  LiteralRegistry.register(
    :class => Brand,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Brand"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["brandID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BrandID")], [0, 1]],
      ["label", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Label")], [0, 1]],
      ["comment", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Comment")], [0, 1]],
      ["brandTags", ["BrandTag[]", XSD::QName.new(NsPartnerAPI, "BrandTags")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => BrandTag,
    :schema_type => XSD::QName.new(NsPartnerAPI, "BrandTag"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["brandID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BrandID")], [0, 1]],
      ["label", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Label")], [0, 1]],
      ["data", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Data")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Role,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Role"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["isPrivate", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsPrivate")], [0, 1]],
      ["isSystemDefined", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSystemDefined")], [0, 1]],
      ["forceInheritance", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "ForceInheritance")], [0, 1]],
      ["permissionSets", ["Role::PermissionSets", XSD::QName.new(NsPartnerAPI, "PermissionSets")], [0, 1]],
      ["permissions", ["Role::Permissions", XSD::QName.new(NsPartnerAPI, "Permissions")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Role::PermissionSets,
    :schema_name => XSD::QName.new(NsPartnerAPI, "PermissionSets"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["permissionSet", ["PermissionSet[]", XSD::QName.new(NsPartnerAPI, "PermissionSet")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => Role::Permissions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Permissions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["permission", ["Permission[]", XSD::QName.new(NsPartnerAPI, "Permission")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => PermissionSet,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PermissionSet"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["isAllowed", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAllowed")], [0, 1]],
      ["isDenied", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsDenied")], [0, 1]],
      ["permissionSets", ["PermissionSet::PermissionSets", XSD::QName.new(NsPartnerAPI, "PermissionSets")], [0, 1]],
      ["permissions", ["PermissionSet::Permissions", XSD::QName.new(NsPartnerAPI, "Permissions")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PermissionSet::PermissionSets,
    :schema_name => XSD::QName.new(NsPartnerAPI, "PermissionSets"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["permissionSet", ["PermissionSet[]", XSD::QName.new(NsPartnerAPI, "PermissionSet")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => PermissionSet::Permissions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Permissions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["permission", ["Permission[]", XSD::QName.new(NsPartnerAPI, "Permission")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => Permission,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Permission"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["objectType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectType")], [0, 1]],
      ["operation", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Operation")], [0, 1]],
      ["isShareable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsShareable")], [0, 1]],
      ["isAllowed", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAllowed")], [0, 1]],
      ["isDenied", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsDenied")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Email,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Email"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["folder", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Folder")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["hTMLBody", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "HTMLBody")], [0, 1]],
      ["textBody", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TextBody")], [0, 1]],
      ["contentAreas", ["ContentArea[]", XSD::QName.new(NsPartnerAPI, "ContentAreas")], [0, nil]],
      ["subject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Subject")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["isHTMLPaste", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsHTMLPaste")], [0, 1]],
      ["clonedFromID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ClonedFromID")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["emailType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailType")], [0, 1]],
      ["characterSet", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CharacterSet")], [0, 1]],
      ["hasDynamicSubjectLine", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "HasDynamicSubjectLine")], [0, 1]],
      ["contentCheckStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ContentCheckStatus")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ContentArea,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ContentArea"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Key")], [0, 1]],
      ["content", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Content")], [0, 1]],
      ["isBlank", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsBlank")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["layout", ["LayoutType", XSD::QName.new(NsPartnerAPI, "Layout")], [0, 1]],
      ["isDynamicContent", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsDynamicContent")], [0, 1]],
      ["isSurvey", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSurvey")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Message,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Message"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["textBody", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TextBody")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => TrackingEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => OpenEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "OpenEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => BounceEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "BounceEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]],
      ["sMTPCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SMTPCode")], [0, 1]],
      ["bounceCategory", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BounceCategory")], [0, 1]],
      ["sMTPReason", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SMTPReason")], [0, 1]],
      ["bounceType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BounceType")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => UnsubEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UnsubEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ClickEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ClickEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]],
      ["uRLID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "URLID")], [0, 1]],
      ["uRL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "URL")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SentEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SentEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => NotSentEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "NotSentEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SurveyEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SurveyEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]],
      ["question", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Question")], [0, 1]],
      ["answer", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Answer")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ForwardedEmailEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ForwardedEmailEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ForwardedEmailOptInEvent,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ForwardedEmailOptInEvent"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "TrackingEvent"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["eventDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "EventDate")], [0, 1]],
      ["eventType", ["EventType", XSD::QName.new(NsPartnerAPI, "EventType")], [0, 1]],
      ["triggeredSendDefinitionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinitionObjectID")], [0, 1]],
      ["batchID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchID")], [0, 1]],
      ["optInSubscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OptInSubscriberKey")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Subscriber,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Subscriber"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["emailAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailAddress")], [0, 1]],
      ["attributes", ["Attribute[]", XSD::QName.new(NsPartnerAPI, "Attributes")], [0, nil]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["unsubscribedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "UnsubscribedDate")], [0, 1]],
      ["status", ["SubscriberStatus", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["partnerType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerType")], [0, 1]],
      ["emailTypePreference", ["EmailType", XSD::QName.new(NsPartnerAPI, "EmailTypePreference")], [0, 1]],
      ["lists", ["SubscriberList[]", XSD::QName.new(NsPartnerAPI, "Lists")], [0, nil]],
      ["globalUnsubscribeCategory", ["GlobalUnsubscribeCategory", XSD::QName.new(NsPartnerAPI, "GlobalUnsubscribeCategory")], [0, 1]],
      ["subscriberTypeDefinition", ["SubscriberTypeDefinition", XSD::QName.new(NsPartnerAPI, "SubscriberTypeDefinition")], [0, 1]],
      ["addresses", ["Subscriber::Addresses", XSD::QName.new(NsPartnerAPI, "Addresses")], [0, 1]],
      ["primarySMSAddress", ["SMSAddress", XSD::QName.new(NsPartnerAPI, "PrimarySMSAddress")], [0, 1]],
      ["primarySMSPublicationStatus", ["SubscriberAddressStatus", XSD::QName.new(NsPartnerAPI, "PrimarySMSPublicationStatus")], [0, 1]],
      ["primaryEmailAddress", ["EmailAddress", XSD::QName.new(NsPartnerAPI, "PrimaryEmailAddress")], [0, 1]],
      ["locale", ["Locale", XSD::QName.new(NsPartnerAPI, "Locale")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Subscriber::Addresses,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Addresses"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["address", ["SubscriberAddress[]", XSD::QName.new(NsPartnerAPI, "Address")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => Attribute,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Attribute"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]],
      ["compression", ["CompressionConfiguration", XSD::QName.new(NsPartnerAPI, "Compression")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => CompressionConfiguration,
    :schema_type => XSD::QName.new(NsPartnerAPI, "CompressionConfiguration"),
    :schema_element => [
      ["type", ["CompressionType", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["encoding", ["CompressionEncoding", XSD::QName.new(NsPartnerAPI, "Encoding")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SubscriberTypeDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberTypeDefinition"),
    :schema_element => [
      ["subscriberType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberType")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ListSubscriber,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ListSubscriber"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["status", ["SubscriberStatus", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["listID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ListID")], [0, 1]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SubscriberList,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberList"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["status", ["SubscriberStatus", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["action", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]],
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => List,
    :schema_type => XSD::QName.new(NsPartnerAPI, "List"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["listName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ListName")], [0, 1]],
      ["category", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Category")], [0, 1]],
      ["type", ["ListTypeEnum", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["subscribers", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, nil]],
      ["listClassification", ["ListClassificationEnum", XSD::QName.new(NsPartnerAPI, "ListClassification")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Group,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Group"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["category", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Category")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["subscribers", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => GlobalUnsubscribeCategory,
    :schema_type => XSD::QName.new(NsPartnerAPI, "GlobalUnsubscribeCategory"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["ignorableByPartners", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IgnorableByPartners")]],
      ["ignore", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Ignore")]]
    ]
  )

  LiteralRegistry.register(
    :class => Campaign,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Campaign"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Send,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Send"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["list", ["List[]", XSD::QName.new(NsPartnerAPI, "List")], [0, nil]],
      ["sendDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "SendDate")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["duplicates", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Duplicates")], [0, 1]],
      ["invalidAddresses", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "InvalidAddresses")], [0, 1]],
      ["existingUndeliverables", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ExistingUndeliverables")], [0, 1]],
      ["existingUnsubscribes", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ExistingUnsubscribes")], [0, 1]],
      ["hardBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "HardBounces")], [0, 1]],
      ["softBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SoftBounces")], [0, 1]],
      ["otherBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OtherBounces")], [0, 1]],
      ["forwardedEmails", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ForwardedEmails")], [0, 1]],
      ["uniqueClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueClicks")], [0, 1]],
      ["uniqueOpens", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueOpens")], [0, 1]],
      ["numberSent", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberSent")], [0, 1]],
      ["numberDelivered", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberDelivered")], [0, 1]],
      ["unsubscribes", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Unsubscribes")], [0, 1]],
      ["missingAddresses", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MissingAddresses")], [0, 1]],
      ["subject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Subject")], [0, 1]],
      ["previewURL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PreviewURL")], [0, 1]],
      ["links", ["Link[]", XSD::QName.new(NsPartnerAPI, "Links")], [0, nil]],
      ["events", ["TrackingEvent[]", XSD::QName.new(NsPartnerAPI, "Events")], [0, nil]],
      ["sentDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "SentDate")], [0, 1]],
      ["emailName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailName")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["isMultipart", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsMultipart")], [0, 1]],
      ["sendLimit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendLimit")], [0, 1]],
      ["sendWindowOpen", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowOpen")], [0, 1]],
      ["sendWindowClose", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowClose")], [0, 1]],
      ["isAlwaysOn", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAlwaysOn")], [0, 1]],
      ["sources", ["Send::Sources", XSD::QName.new(NsPartnerAPI, "Sources")], [0, 1]],
      ["numberTargeted", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberTargeted")], [0, 1]],
      ["numberErrored", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberErrored")], [0, 1]],
      ["numberExcluded", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberExcluded")], [0, 1]],
      ["additional", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Additional")], [0, 1]],
      ["bccEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BccEmail")], [0, 1]],
      ["emailSendDefinition", ["EmailSendDefinition", XSD::QName.new(NsPartnerAPI, "EmailSendDefinition")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Send::Sources,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Sources"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["source", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Source")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => Link,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Link"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["lastClicked", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "LastClicked")], [0, 1]],
      ["v_alias", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Alias")], [0, 1]],
      ["totalClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "TotalClicks")], [0, 1]],
      ["uniqueClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueClicks")], [0, 1]],
      ["uRL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "URL")], [0, 1]],
      ["subscribers", ["TrackingEvent[]", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => SendSummary,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendSummary"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["accountID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "AccountID")], [0, 1]],
      ["accountName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AccountName")], [0, 1]],
      ["accountEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AccountEmail")], [0, 1]],
      ["isTestAccount", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTestAccount")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["deliveredTime", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DeliveredTime")], [0, 1]],
      ["totalSent", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "TotalSent")], [0, 1]],
      ["transactional", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Transactional")], [0, 1]],
      ["nonTransactional", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NonTransactional")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => TriggeredSendDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SendDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]],
      ["triggeredSendType", ["TriggeredSendTypeEnum", XSD::QName.new(NsPartnerAPI, "TriggeredSendType")], [0, 1]],
      ["triggeredSendStatus", ["TriggeredSendStatusEnum", XSD::QName.new(NsPartnerAPI, "TriggeredSendStatus")], [0, 1]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["autoAddSubscribers", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "AutoAddSubscribers")], [0, 1]],
      ["autoUpdateSubscribers", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "AutoUpdateSubscribers")], [0, 1]],
      ["batchInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchInterval")], [0, 1]],
      ["bccEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BccEmail")], [0, 1]],
      ["emailSubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailSubject")], [0, 1]],
      ["dynamicEmailSubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DynamicEmailSubject")], [0, 1]],
      ["isMultipart", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsMultipart")], [0, 1]],
      ["isWrapped", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsWrapped")], [0, 1]],
      ["allowedSlots", ["SOAP::SOAPShort", XSD::QName.new(NsPartnerAPI, "AllowedSlots")], [0, 1]],
      ["newSlotTrigger", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NewSlotTrigger")], [0, 1]],
      ["sendLimit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendLimit")], [0, 1]],
      ["sendWindowOpen", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowOpen")], [0, 1]],
      ["sendWindowClose", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowClose")], [0, 1]],
      ["sendWindowDelete", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SendWindowDelete")], [0, 1]],
      ["refreshContent", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "RefreshContent")], [0, 1]],
      ["exclusionFilter", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExclusionFilter")], [0, 1]],
      ["priority", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["sendSourceCustomerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SendSourceCustomerKey")], [0, 1]],
      ["exclusionListCollection", ["TriggeredSendExclusionList[]", XSD::QName.new(NsPartnerAPI, "ExclusionListCollection")], [0, nil]],
      ["cCEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CCEmail")], [0, 1]],
      ["sendSourceDataExtension", ["DataExtension", XSD::QName.new(NsPartnerAPI, "SendSourceDataExtension")], [0, 1]],
      ["isAlwaysOn", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAlwaysOn")], [0, 1]],
      ["disableOnEmailBuildError", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DisableOnEmailBuildError")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => TriggeredSendExclusionList,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSendExclusionList"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "AudienceItem"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["sendDefinitionListType", ["SendDefinitionListTypeEnum", XSD::QName.new(NsPartnerAPI, "SendDefinitionListType")], [0, 1]],
      ["customObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomObjectID")], [0, 1]],
      ["dataSourceTypeID", ["DataSourceTypeEnum", XSD::QName.new(NsPartnerAPI, "DataSourceTypeID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => TriggeredSend,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSend"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["triggeredSendDefinition", ["TriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinition")]],
      ["subscribers", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscribers")], [1, nil]],
      ["attributes", ["Attribute[]", XSD::QName.new(NsPartnerAPI, "Attributes")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => TriggeredSendCreateResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSendCreateResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "CreateResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["newID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NewID")]],
      ["newObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NewObjectID")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")], [0, 1]],
      ["createResults", ["CreateResult[]", XSD::QName.new(NsPartnerAPI, "CreateResults")], [0, nil]],
      ["parentPropertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentPropertyName")], [0, 1]],
      ["subscriberFailures", ["SubscriberResult[]", XSD::QName.new(NsPartnerAPI, "SubscriberFailures")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => SubscriberResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberResult"),
    :schema_element => [
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")]],
      ["errorCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorCode")]],
      ["errorDescription", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorDescription")], [0, 1]],
      ["ordinal", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Ordinal")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SubscriberSendResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberSendResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["send", ["Send", XSD::QName.new(NsPartnerAPI, "Send")], [0, 1]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]],
      ["clickDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ClickDate")], [0, 1]],
      ["bounceDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "BounceDate")], [0, 1]],
      ["openDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "OpenDate")], [0, 1]],
      ["sentDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "SentDate")], [0, 1]],
      ["lastAction", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "LastAction")], [0, 1]],
      ["unsubscribeDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "UnsubscribeDate")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["totalClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "TotalClicks")], [0, 1]],
      ["uniqueClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueClicks")], [0, 1]],
      ["subject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Subject")], [0, 1]],
      ["viewSentEmailURL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ViewSentEmailURL")], [0, 1]],
      ["hardBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "HardBounces")], [0, 1]],
      ["softBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SoftBounces")], [0, 1]],
      ["otherBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OtherBounces")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => TriggeredSendSummary,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSendSummary"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["triggeredSendDefinition", ["TriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinition")], [0, 1]],
      ["sent", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "Sent")], [0, 1]],
      ["notSentDueToOptOut", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "NotSentDueToOptOut")], [0, 1]],
      ["notSentDueToUndeliverable", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "NotSentDueToUndeliverable")], [0, 1]],
      ["bounces", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "Bounces")], [0, 1]],
      ["opens", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "Opens")], [0, 1]],
      ["clicks", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "Clicks")], [0, 1]],
      ["uniqueOpens", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "UniqueOpens")], [0, 1]],
      ["uniqueClicks", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "UniqueClicks")], [0, 1]],
      ["optOuts", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "OptOuts")], [0, 1]],
      ["surveyResponses", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "SurveyResponses")], [0, 1]],
      ["fTAFRequests", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "FTAFRequests")], [0, 1]],
      ["fTAFEmailsSent", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "FTAFEmailsSent")], [0, 1]],
      ["fTAFOptIns", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "FTAFOptIns")], [0, 1]],
      ["conversions", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "Conversions")], [0, 1]],
      ["uniqueConversions", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "UniqueConversions")], [0, 1]],
      ["inProcess", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "InProcess")], [0, 1]],
      ["notSentDueToError", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "NotSentDueToError")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => AsyncRequestResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AsyncRequestResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["completeDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CompleteDate")], [0, 1]],
      ["callStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CallStatus")], [0, 1]],
      ["callMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CallMessage")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => VoiceTriggeredSend,
    :schema_type => XSD::QName.new(NsPartnerAPI, "VoiceTriggeredSend"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["voiceTriggeredSendDefinition", ["VoiceTriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "VoiceTriggeredSendDefinition")], [0, 1]],
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Message")], [0, 1]],
      ["number", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Number")], [0, 1]],
      ["transferMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TransferMessage")], [0, 1]],
      ["transferNumber", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TransferNumber")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => VoiceTriggeredSendDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "VoiceTriggeredSendDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SendDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SMSTriggeredSend,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SMSTriggeredSend"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sMSTriggeredSendDefinition", ["SMSTriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "SMSTriggeredSendDefinition")], [0, 1]],
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Message")], [0, 1]],
      ["number", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Number")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SMSTriggeredSendDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SMSTriggeredSendDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SendDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SendClassification,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendClassification"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendClassificationType", ["SendClassificationTypeEnum", XSD::QName.new(NsPartnerAPI, "SendClassificationType")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["honorPublicationListOptOutsForTransactionalSends", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "HonorPublicationListOptOutsForTransactionalSends")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SenderProfile,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SenderProfile"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["useDefaultRMMRules", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "UseDefaultRMMRules")], [0, 1]],
      ["autoForwardToEmailAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoForwardToEmailAddress")], [0, 1]],
      ["autoForwardToName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoForwardToName")], [0, 1]],
      ["directForward", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DirectForward")], [0, 1]],
      ["autoForwardTriggeredSend", ["TriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "AutoForwardTriggeredSend")], [0, 1]],
      ["autoReply", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "AutoReply")], [0, 1]],
      ["autoReplyTriggeredSend", ["TriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "AutoReplyTriggeredSend")], [0, 1]],
      ["senderHeaderEmailAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SenderHeaderEmailAddress")], [0, 1]],
      ["senderHeaderName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SenderHeaderName")], [0, 1]],
      ["dataRetentionPeriodLength", ["SOAP::SOAPShort", XSD::QName.new(NsPartnerAPI, "DataRetentionPeriodLength")], [0, 1]],
      ["dataRetentionPeriodUnitOfMeasure", ["RecurrenceTypeEnum", XSD::QName.new(NsPartnerAPI, "DataRetentionPeriodUnitOfMeasure")], [0, 1]],
      ["replyManagementRuleSet", ["APIObject", XSD::QName.new(NsPartnerAPI, "ReplyManagementRuleSet")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DeliveryProfile,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DeliveryProfile"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["subscriberLevelPrivateDomain", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SubscriberLevelPrivateDomain")], [0, 1]],
      ["sMIMESignatureCertificate", ["Certificate", XSD::QName.new(NsPartnerAPI, "SMIMESignatureCertificate")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PrivateDomain,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PrivateDomain"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PrivateIP,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PrivateIP"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["ordinalID", ["SOAP::SOAPShort", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["iPAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "IPAddress")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SendDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => AudienceItem,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AudienceItem"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["sendDefinitionListType", ["SendDefinitionListTypeEnum", XSD::QName.new(NsPartnerAPI, "SendDefinitionListType")], [0, 1]],
      ["customObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomObjectID")], [0, 1]],
      ["dataSourceTypeID", ["DataSourceTypeEnum", XSD::QName.new(NsPartnerAPI, "DataSourceTypeID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => EmailSendDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "EmailSendDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SendDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]],
      ["sendDefinitionList", ["SendDefinitionList[]", XSD::QName.new(NsPartnerAPI, "SendDefinitionList")], [0, nil]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["bccEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BccEmail")], [0, 1]],
      ["autoBccEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoBccEmail")], [0, 1]],
      ["testEmailAddr", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TestEmailAddr")], [0, 1]],
      ["emailSubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailSubject")], [0, 1]],
      ["dynamicEmailSubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DynamicEmailSubject")], [0, 1]],
      ["isMultipart", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsMultipart")], [0, 1]],
      ["isWrapped", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsWrapped")], [0, 1]],
      ["sendLimit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendLimit")], [0, 1]],
      ["sendWindowOpen", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowOpen")], [0, 1]],
      ["sendWindowClose", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowClose")], [0, 1]],
      ["sendWindowDelete", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SendWindowDelete")], [0, 1]],
      ["deduplicateByEmail", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DeduplicateByEmail")], [0, 1]],
      ["exclusionFilter", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExclusionFilter")], [0, 1]],
      ["trackingUsers", ["EmailSendDefinition::TrackingUsers", XSD::QName.new(NsPartnerAPI, "TrackingUsers")], [0, 1]],
      ["additional", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Additional")], [0, 1]],
      ["cCEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CCEmail")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => EmailSendDefinition::TrackingUsers,
    :schema_name => XSD::QName.new(NsPartnerAPI, "TrackingUsers"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["trackingUser", ["TrackingUser[]", XSD::QName.new(NsPartnerAPI, "TrackingUser")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => SendDefinitionList,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendDefinitionList"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "AudienceItem"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["sendDefinitionListType", ["SendDefinitionListTypeEnum", XSD::QName.new(NsPartnerAPI, "SendDefinitionListType")], [0, 1]],
      ["customObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomObjectID")], [0, 1]],
      ["dataSourceTypeID", ["DataSourceTypeEnum", XSD::QName.new(NsPartnerAPI, "DataSourceTypeID")], [0, 1]],
      ["filterDefinition", ["FilterDefinition", XSD::QName.new(NsPartnerAPI, "FilterDefinition")], [0, 1]],
      ["isTestObject", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTestObject")], [0, 1]],
      ["salesForceObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SalesForceObjectID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["parameters", ["SendDefinitionList::Parameters", XSD::QName.new(NsPartnerAPI, "Parameters")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SendDefinitionList::Parameters,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Parameters"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["parameter", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Parameter")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => TrackingUser,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TrackingUser"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["employeeID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "EmployeeID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => MessagingVendorKind,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MessagingVendorKind"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["vendor", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Vendor")]],
      ["kind", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Kind")]],
      ["isUsernameRequired", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsUsernameRequired")]],
      ["isPasswordRequired", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsPasswordRequired")]],
      ["isProfileRequired", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsProfileRequired")]]
    ]
  )

  LiteralRegistry.register(
    :class => MessagingConfiguration,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MessagingConfiguration"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["code", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Code")]],
      ["messagingVendorKind", ["MessagingVendorKind", XSD::QName.new(NsPartnerAPI, "MessagingVendorKind")]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")]],
      ["url", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Url")]],
      ["userName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "UserName")]],
      ["password", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Password")]],
      ["profileID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ProfileID")]],
      ["callbackUrl", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CallbackUrl")], [0, 1]],
      ["mediaTypes", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "MediaTypes")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => UserMap,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UserMap"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIProperty"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]],
      ["eTAccountUser", ["AccountUser", XSD::QName.new(NsPartnerAPI, "ETAccountUser")]],
      ["additionalData", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "AdditionalData")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => Folder,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Folder"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIProperty"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")]],
      ["parentID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ParentID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => FileTransferLocation,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FileTransferLocation"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtractActivity,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtractActivity"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => MessageSendActivity,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MessageSendActivity"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SmsSendActivity,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SmsSendActivity"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ReportActivity,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ReportActivity"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtension,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtension"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["isSendable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendable")], [0, 1]],
      ["isTestable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTestable")], [0, 1]],
      ["sendableDataExtensionField", ["DataExtensionField", XSD::QName.new(NsPartnerAPI, "SendableDataExtensionField")], [0, 1]],
      ["sendableSubscriberField", ["Attribute", XSD::QName.new(NsPartnerAPI, "SendableSubscriberField")], [0, 1]],
      ["template", ["DataExtensionTemplate", XSD::QName.new(NsPartnerAPI, "Template")], [0, 1]],
      ["dataRetentionPeriodLength", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DataRetentionPeriodLength")], [0, 1]],
      ["dataRetentionPeriodUnitOfMeasure", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DataRetentionPeriodUnitOfMeasure")], [0, 1]],
      ["rowBasedRetention", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "RowBasedRetention")], [0, 1]],
      ["resetRetentionPeriodOnImport", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "ResetRetentionPeriodOnImport")], [0, 1]],
      ["deleteAtEndOfRetentionPeriod", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DeleteAtEndOfRetentionPeriod")], [0, 1]],
      ["retainUntil", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RetainUntil")], [0, 1]],
      ["fields", ["DataExtension::Fields", XSD::QName.new(NsPartnerAPI, "Fields")], [0, 1]],
      ["dataRetentionPeriod", ["DateTimeUnitOfMeasure", XSD::QName.new(NsPartnerAPI, "DataRetentionPeriod")], [0, 1]],
      ["categoryID", ["SOAP::SOAPLong", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtension::Fields,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Fields"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["field", ["DataExtensionField[]", XSD::QName.new(NsPartnerAPI, "Field")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionField,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionField"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "PropertyDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["dataType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DataType")], [0, 1]],
      ["valueType", ["SoapType", XSD::QName.new(NsPartnerAPI, "ValueType")], [0, 1]],
      ["propertyType", ["PropertyType", XSD::QName.new(NsPartnerAPI, "PropertyType")], [0, 1]],
      ["isCreatable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsCreatable")], [0, 1]],
      ["isUpdatable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsUpdatable")], [0, 1]],
      ["isRetrievable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRetrievable")], [0, 1]],
      ["isQueryable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsQueryable")], [0, 1]],
      ["isFilterable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsFilterable")], [0, 1]],
      ["isPartnerProperty", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsPartnerProperty")], [0, 1]],
      ["isAccountProperty", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAccountProperty")], [0, 1]],
      ["partnerMap", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerMap")], [0, 1]],
      ["attributeMaps", ["AttributeMap[]", XSD::QName.new(NsPartnerAPI, "AttributeMaps")], [0, nil]],
      ["markups", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Markups")], [0, nil]],
      ["precision", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Precision")], [0, 1]],
      ["scale", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Scale")], [0, 1]],
      ["label", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Label")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["defaultValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DefaultValue")], [0, 1]],
      ["minLength", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MinLength")], [0, 1]],
      ["maxLength", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MaxLength")], [0, 1]],
      ["minValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "MinValue")], [0, 1]],
      ["maxValue", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "MaxValue")], [0, 1]],
      ["isRequired", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRequired")], [0, 1]],
      ["isViewable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsViewable")], [0, 1]],
      ["isEditable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsEditable")], [0, 1]],
      ["isNillable", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsNillable")], [0, 1]],
      ["isRestrictedPicklist", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsRestrictedPicklist")], [0, 1]],
      ["picklistItems", ["DataExtensionField::PicklistItems", XSD::QName.new(NsPartnerAPI, "PicklistItems")], [0, 1]],
      ["isSendTime", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendTime")], [0, 1]],
      ["displayOrder", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DisplayOrder")], [0, 1]],
      ["references", ["DataExtensionField::References", XSD::QName.new(NsPartnerAPI, "References")], [0, 1]],
      ["relationshipName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RelationshipName")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["isContextSpecific", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsContextSpecific")], [0, 1]],
      ["ordinal", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Ordinal")], [0, 1]],
      ["isPrimaryKey", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsPrimaryKey")], [0, 1]],
      ["fieldType", ["DataExtensionFieldType", XSD::QName.new(NsPartnerAPI, "FieldType")], [0, 1]],
      ["dataExtension", ["DataExtension", XSD::QName.new(NsPartnerAPI, "DataExtension")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionField::PicklistItems,
    :schema_name => XSD::QName.new(NsPartnerAPI, "PicklistItems"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["picklistItem", ["PicklistItem[]", XSD::QName.new(NsPartnerAPI, "PicklistItem")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionField::References,
    :schema_name => XSD::QName.new(NsPartnerAPI, "References"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["reference", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Reference")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionTemplate,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionTemplate"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionObject,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionObject"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "ObjectExtension"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["properties", ["DataExtensionObject::Properties", XSD::QName.new(NsPartnerAPI, "Properties")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["keys", ["DataExtensionObject::Keys", XSD::QName.new(NsPartnerAPI, "Keys")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionObject::Properties,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Properties"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["property", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Property")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionObject::Keys,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Keys"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["key", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Key")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionError,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionError"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInteger", XSD::QName.new(NsPartnerAPI, "ErrorCode")]],
      ["errorMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorMessage")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionCreateResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionCreateResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "CreateResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["newID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NewID")]],
      ["newObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NewObjectID")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")], [0, 1]],
      ["createResults", ["CreateResult[]", XSD::QName.new(NsPartnerAPI, "CreateResults")], [0, nil]],
      ["parentPropertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentPropertyName")], [0, 1]],
      ["errorMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorMessage")], [0, 1]],
      ["keyErrors", ["DataExtensionCreateResult::KeyErrors", XSD::QName.new(NsPartnerAPI, "KeyErrors")], [0, 1]],
      ["valueErrors", ["DataExtensionCreateResult::ValueErrors", XSD::QName.new(NsPartnerAPI, "ValueErrors")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionCreateResult::KeyErrors,
    :schema_name => XSD::QName.new(NsPartnerAPI, "KeyErrors"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["keyError", ["DataExtensionError[]", XSD::QName.new(NsPartnerAPI, "KeyError")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionCreateResult::ValueErrors,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ValueErrors"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["valueError", ["DataExtensionError[]", XSD::QName.new(NsPartnerAPI, "ValueError")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionUpdateResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionUpdateResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "UpdateResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["updateResults", ["UpdateResult[]", XSD::QName.new(NsPartnerAPI, "UpdateResults")], [0, nil]],
      ["parentPropertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentPropertyName")], [0, 1]],
      ["errorMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorMessage")], [0, 1]],
      ["keyErrors", ["DataExtensionUpdateResult::KeyErrors", XSD::QName.new(NsPartnerAPI, "KeyErrors")], [0, 1]],
      ["valueErrors", ["DataExtensionUpdateResult::ValueErrors", XSD::QName.new(NsPartnerAPI, "ValueErrors")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionUpdateResult::KeyErrors,
    :schema_name => XSD::QName.new(NsPartnerAPI, "KeyErrors"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["keyError", ["DataExtensionError[]", XSD::QName.new(NsPartnerAPI, "KeyError")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionUpdateResult::ValueErrors,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ValueErrors"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["valueError", ["DataExtensionError[]", XSD::QName.new(NsPartnerAPI, "ValueError")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionDeleteResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionDeleteResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "DeleteResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")]],
      ["errorMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorMessage")], [0, 1]],
      ["keyErrors", ["DataExtensionDeleteResult::KeyErrors", XSD::QName.new(NsPartnerAPI, "KeyErrors")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DataExtensionDeleteResult::KeyErrors,
    :schema_name => XSD::QName.new(NsPartnerAPI, "KeyErrors"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["keyError", ["DataExtensionError[]", XSD::QName.new(NsPartnerAPI, "KeyError")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ImportDefinitionColumnBasedAction,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionColumnBasedAction"),
    :schema_element => [
      ["value", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Value")], [0, 1]],
      ["action", ["ImportDefinitionColumnBasedActionType", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => FieldMap,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FieldMap"),
    :schema_element => [
      [ :choice,
        ["sourceName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SourceName")]],
        ["sourceOrdinal", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SourceOrdinal")]]
      ],
      ["destinationName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DestinationName")]]
    ]
  )

  LiteralRegistry.register(
    :class => ImportDefinitionAutoGenerateDestination,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionAutoGenerateDestination"),
    :schema_element => [
      ["dataExtensionTarget", ["DataExtension", XSD::QName.new(NsPartnerAPI, "DataExtensionTarget")]],
      ["errorIfExists", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "ErrorIfExists")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ImportDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["allowErrors", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "AllowErrors")], [0, 1]],
      ["destinationObject", ["APIObject", XSD::QName.new(NsPartnerAPI, "DestinationObject")], [0, 1]],
      ["fieldMappingType", ["ImportDefinitionFieldMappingType", XSD::QName.new(NsPartnerAPI, "FieldMappingType")], [0, 1]],
      ["fieldMaps", ["ImportDefinition::FieldMaps", XSD::QName.new(NsPartnerAPI, "FieldMaps")], [0, 1]],
      ["fileSpec", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileSpec")], [0, 1]],
      ["fileType", ["FileType", XSD::QName.new(NsPartnerAPI, "FileType")], [0, 1]],
      ["notification", ["AsyncResponse", XSD::QName.new(NsPartnerAPI, "Notification")], [0, 1]],
      ["retrieveFileTransferLocation", ["FileTransferLocation", XSD::QName.new(NsPartnerAPI, "RetrieveFileTransferLocation")], [0, 1]],
      ["subscriberImportType", ["ImportDefinitionSubscriberImportType", XSD::QName.new(NsPartnerAPI, "SubscriberImportType")], [0, 1]],
      ["updateType", ["ImportDefinitionUpdateType", XSD::QName.new(NsPartnerAPI, "UpdateType")], [0, 1]],
      ["maxFileAge", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MaxFileAge")], [0, 1]],
      ["maxFileAgeScheduleOffset", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MaxFileAgeScheduleOffset")], [0, 1]],
      ["maxImportFrequency", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MaxImportFrequency")], [0, 1]],
      ["delimiter", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Delimiter")], [0, 1]],
      ["headerLines", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "HeaderLines")], [0, 1]],
      ["autoGenerateDestination", ["ImportDefinitionAutoGenerateDestination", XSD::QName.new(NsPartnerAPI, "AutoGenerateDestination")], [0, 1]],
      ["controlColumn", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ControlColumn")], [0, 1]],
      ["controlColumnDefaultAction", ["ImportDefinitionColumnBasedActionType", XSD::QName.new(NsPartnerAPI, "ControlColumnDefaultAction")], [0, 1]],
      ["controlColumnActions", ["ImportDefinition::ControlColumnActions", XSD::QName.new(NsPartnerAPI, "ControlColumnActions")], [0, 1]],
      ["endOfLineRepresentation", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EndOfLineRepresentation")], [0, 1]],
      ["nullRepresentation", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NullRepresentation")], [0, 1]],
      ["standardQuotedStrings", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "StandardQuotedStrings")], [0, 1]],
      ["dateFormattingLocale", ["Locale", XSD::QName.new(NsPartnerAPI, "DateFormattingLocale")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ImportDefinition::FieldMaps,
    :schema_name => XSD::QName.new(NsPartnerAPI, "FieldMaps"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["fieldMap", ["FieldMap[]", XSD::QName.new(NsPartnerAPI, "FieldMap")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ImportDefinition::ControlColumnActions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ControlColumnActions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["controlColumnAction", ["ImportDefinitionColumnBasedAction[]", XSD::QName.new(NsPartnerAPI, "ControlColumnAction")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ImportDefinitionFieldMap,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionFieldMap"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      [ :choice,
        ["sourceName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SourceName")]],
        ["sourceOrdinal", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SourceOrdinal")]]
      ],
      ["destinationName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DestinationName")]]
    ]
  )

  LiteralRegistry.register(
    :class => ImportResultsSummary,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportResultsSummary"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["importDefinitionCustomerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ImportDefinitionCustomerKey")], [0, 1]],
      ["startDate", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StartDate")], [0, 1]],
      ["endDate", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EndDate")], [0, 1]],
      ["destinationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DestinationID")], [0, 1]],
      ["numberSuccessful", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberSuccessful")], [0, 1]],
      ["numberDuplicated", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberDuplicated")], [0, 1]],
      ["numberErrors", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberErrors")], [0, 1]],
      ["totalRows", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "TotalRows")], [0, 1]],
      ["importType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ImportType")], [0, 1]],
      ["importStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ImportStatus")], [0, 1]],
      ["taskResultID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "TaskResultID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => FilterDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FilterDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["dataSource", ["APIObject", XSD::QName.new(NsPartnerAPI, "DataSource")], [0, 1]],
      ["dataFilter", ["FilterPart", XSD::QName.new(NsPartnerAPI, "DataFilter")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => GroupDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "GroupDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => FileTransferActivity,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FileTransferActivity"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ListSend,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ListSend"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["duplicates", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Duplicates")], [0, 1]],
      ["invalidAddresses", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "InvalidAddresses")], [0, 1]],
      ["existingUndeliverables", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ExistingUndeliverables")], [0, 1]],
      ["existingUnsubscribes", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ExistingUnsubscribes")], [0, 1]],
      ["hardBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "HardBounces")], [0, 1]],
      ["softBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SoftBounces")], [0, 1]],
      ["otherBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OtherBounces")], [0, 1]],
      ["forwardedEmails", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ForwardedEmails")], [0, 1]],
      ["uniqueClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueClicks")], [0, 1]],
      ["uniqueOpens", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueOpens")], [0, 1]],
      ["numberSent", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberSent")], [0, 1]],
      ["numberDelivered", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberDelivered")], [0, 1]],
      ["unsubscribes", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Unsubscribes")], [0, 1]],
      ["missingAddresses", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MissingAddresses")], [0, 1]],
      ["previewURL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PreviewURL")], [0, 1]],
      ["links", ["Link[]", XSD::QName.new(NsPartnerAPI, "Links")], [0, nil]],
      ["events", ["TrackingEvent[]", XSD::QName.new(NsPartnerAPI, "Events")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => LinkSend,
    :schema_type => XSD::QName.new(NsPartnerAPI, "LinkSend"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["sendID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendID")], [0, 1]],
      ["link", ["Link", XSD::QName.new(NsPartnerAPI, "Link")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ObjectExtension,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ObjectExtension"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["properties", ["ObjectExtension::Properties", XSD::QName.new(NsPartnerAPI, "Properties")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ObjectExtension::Properties,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Properties"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["property", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Property")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => PublicKeyManagement,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PublicKeyManagement"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["key", ["SOAP::SOAPBase64", XSD::QName.new(NsPartnerAPI, "Key")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SecurityObject,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SecurityObject"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Certificate,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Certificate"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SecurityObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SystemStatusOptions,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SystemStatusOptions"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Options"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["SystemStatusOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SystemStatusOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => SystemStatusResult,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SystemStatusResult"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Result"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["systemStatus", ["SystemStatusType", XSD::QName.new(NsPartnerAPI, "SystemStatus")]],
      ["outages", ["SystemStatusResult::Outages", XSD::QName.new(NsPartnerAPI, "Outages")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SystemStatusResult::Outages,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Outages"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["outage", ["SystemOutage[]", XSD::QName.new(NsPartnerAPI, "Outage")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => SystemOutage,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SystemOutage"),
    :schema_element => []
  )

  LiteralRegistry.register(
    :class => Authentication,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Authentication"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => UsernameAuthentication,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UsernameAuthentication"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "Authentication"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["userName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "UserName")], [0, 1]],
      ["passWord", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PassWord")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ResourceSpecification,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ResourceSpecification"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["uRN", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "URN")], [0, 1]],
      ["authentication", ["Authentication", XSD::QName.new(NsPartnerAPI, "Authentication")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Portfolio,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Portfolio"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["source", ["ResourceSpecification", XSD::QName.new(NsPartnerAPI, "Source")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["fileName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileName")], [0, 1]],
      ["displayName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DisplayName")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["typeDescription", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TypeDescription")], [0, 1]],
      ["isUploaded", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsUploaded")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["fileSizeKB", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "FileSizeKB")], [0, 1]],
      ["thumbSizeKB", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ThumbSizeKB")], [0, 1]],
      ["fileWidthPX", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "FileWidthPX")], [0, 1]],
      ["fileHeightPX", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "FileHeightPX")], [0, 1]],
      ["fileURL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileURL")], [0, 1]],
      ["thumbURL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ThumbURL")], [0, 1]],
      ["cacheClearTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CacheClearTime")], [0, 1]],
      ["categoryType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CategoryType")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Layout,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Layout"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["layoutName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "LayoutName")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => QueryDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "QueryDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "InteractionDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["queryText", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "QueryText")], [0, 1]],
      ["targetType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TargetType")], [0, 1]],
      ["dataExtensionTarget", ["InteractionBaseObject", XSD::QName.new(NsPartnerAPI, "DataExtensionTarget")], [0, 1]],
      ["targetUpdateType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TargetUpdateType")], [0, 1]],
      ["fileSpec", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileSpec")], [0, 1]],
      ["fileType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileType")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => IntegrationProfile,
    :schema_type => XSD::QName.new(NsPartnerAPI, "IntegrationProfile"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["profileID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ProfileID")]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")]],
      ["externalID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExternalID")]],
      ["externalType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExternalType")]]
    ]
  )

  LiteralRegistry.register(
    :class => IntegrationProfileDefinition,
    :schema_type => XSD::QName.new(NsPartnerAPI, "IntegrationProfileDefinition"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["profileID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ProfileID")]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")]],
      ["externalSystemType", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ExternalSystemType")]]
    ]
  )

  LiteralRegistry.register(
    :class => ReplyMailManagementConfiguration,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ReplyMailManagementConfiguration"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["emailDisplayName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailDisplayName")], [0, 1]],
      ["replySubdomain", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ReplySubdomain")], [0, 1]],
      ["emailReplyAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailReplyAddress")], [0, 1]],
      ["dNSRedirectComplete", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DNSRedirectComplete")], [0, 1]],
      ["deleteAutoReplies", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DeleteAutoReplies")], [0, 1]],
      ["supportUnsubscribes", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportUnsubscribes")], [0, 1]],
      ["supportUnsubKeyword", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportUnsubKeyword")], [0, 1]],
      ["supportUnsubscribeKeyword", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportUnsubscribeKeyword")], [0, 1]],
      ["supportRemoveKeyword", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportRemoveKeyword")], [0, 1]],
      ["supportOptOutKeyword", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportOptOutKeyword")], [0, 1]],
      ["supportLeaveKeyword", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportLeaveKeyword")], [0, 1]],
      ["supportMisspelledKeywords", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SupportMisspelledKeywords")], [0, 1]],
      ["sendAutoReplies", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SendAutoReplies")], [0, 1]],
      ["autoReplySubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoReplySubject")], [0, 1]],
      ["autoReplyBody", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoReplyBody")], [0, 1]],
      ["forwardingAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ForwardingAddress")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => FileTrigger,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FileTrigger"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["externalReference", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExternalReference")], [0, 1]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")], [0, 1]],
      ["requestParameterDetail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestParameterDetail")], [0, 1]],
      ["responseControlManifest", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResponseControlManifest")], [0, 1]],
      ["fileName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileName")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["lastPullDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "LastPullDate")], [0, 1]],
      ["scheduledDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledDate")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["fileTriggerProgramID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FileTriggerProgramID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => FileTriggerTypeLastPull,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FileTriggerTypeLastPull"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["externalReference", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExternalReference")], [0, 1]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["lastPullDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "LastPullDate")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ProgramManifestTemplate,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ProgramManifestTemplate"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["operationType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OperationType")], [0, 1]],
      ["content", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Content")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SubscriberAddress,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberAddress"),
    :schema_element => [
      ["addressType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AddressType")], [0, 1]],
      ["address", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Address")], [0, 1]],
      ["statuses", ["SubscriberAddress::Statuses", XSD::QName.new(NsPartnerAPI, "Statuses")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SubscriberAddress::Statuses,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Statuses"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["status", ["AddressStatus[]", XSD::QName.new(NsPartnerAPI, "Status")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => SMSAddress,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SMSAddress"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SubscriberAddress"),
    :schema_element => [
      ["addressType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AddressType")], [0, 1]],
      ["address", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Address")], [0, 1]],
      ["statuses", ["SMSAddress::Statuses", XSD::QName.new(NsPartnerAPI, "Statuses")], [0, 1]],
      ["carrier", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Carrier")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SMSAddress::Statuses,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Statuses"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["status", ["AddressStatus[]", XSD::QName.new(NsPartnerAPI, "Status")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => EmailAddress,
    :schema_type => XSD::QName.new(NsPartnerAPI, "EmailAddress"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "SubscriberAddress"),
    :schema_element => [
      ["addressType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AddressType")], [0, 1]],
      ["address", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Address")], [0, 1]],
      ["statuses", ["EmailAddress::Statuses", XSD::QName.new(NsPartnerAPI, "Statuses")], [0, 1]],
      ["type", ["EmailType", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => EmailAddress::Statuses,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Statuses"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["status", ["AddressStatus[]", XSD::QName.new(NsPartnerAPI, "Status")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => AddressStatus,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AddressStatus"),
    :schema_element => [
      ["status", ["SubscriberAddressStatus", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Publication,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Publication"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["subscribers", ["Publication::Subscribers", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, 1]],
      ["category", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Category")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Publication::Subscribers,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Subscribers"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["subscriber", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => PublicationSubscriber,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PublicationSubscriber"),
    :schema_basetype => XSD::QName.new(NsPartnerAPI, "APIObject"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["publication", ["Publication", XSD::QName.new(NsPartnerAPI, "Publication")], [0, 1]],
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => APIFault,
    :schema_type => XSD::QName.new(NsFaultPartnerExacttargetCom, "APIFault"),
    :schema_element => [
      ["code", ["SOAP::SOAPInt", XSD::QName.new(NsFaultPartnerExacttargetCom, "Code")]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsFaultPartnerExacttargetCom, "Message")]],
      ["logID", ["SOAP::SOAPLong", XSD::QName.new(NsFaultPartnerExacttargetCom, "LogID")], [0, 1]],
      ["params", ["APIFault::Params", XSD::QName.new(NsFaultPartnerExacttargetCom, "Params")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => APIFault::Params,
    :schema_name => XSD::QName.new(NsFaultPartnerExacttargetCom, "Params"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["param", ["SOAP::SOAPString[]", XSD::QName.new(NsFaultPartnerExacttargetCom, "Param")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => AsyncResponseType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AsyncResponseType")
  )

  LiteralRegistry.register(
    :class => Priority,
    :schema_type => XSD::QName.new(NsPartnerAPI, "Priority")
  )

  LiteralRegistry.register(
    :class => RequestType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RequestType")
  )

  LiteralRegistry.register(
    :class => RespondWhen,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RespondWhen")
  )

  LiteralRegistry.register(
    :class => SaveAction,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SaveAction")
  )

  LiteralRegistry.register(
    :class => SimpleOperators,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SimpleOperators")
  )

  LiteralRegistry.register(
    :class => LogicalOperators,
    :schema_type => XSD::QName.new(NsPartnerAPI, "LogicalOperators")
  )

  LiteralRegistry.register(
    :class => SoapType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SoapType")
  )

  LiteralRegistry.register(
    :class => PropertyType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "PropertyType")
  )

  LiteralRegistry.register(
    :class => RecurrenceTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RecurrenceTypeEnum")
  )

  LiteralRegistry.register(
    :class => RecurrenceRangeTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "RecurrenceRangeTypeEnum")
  )

  LiteralRegistry.register(
    :class => MinutelyRecurrencePatternTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MinutelyRecurrencePatternTypeEnum")
  )

  LiteralRegistry.register(
    :class => HourlyRecurrencePatternTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "HourlyRecurrencePatternTypeEnum")
  )

  LiteralRegistry.register(
    :class => DailyRecurrencePatternTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DailyRecurrencePatternTypeEnum")
  )

  LiteralRegistry.register(
    :class => WeeklyRecurrencePatternTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "WeeklyRecurrencePatternTypeEnum")
  )

  LiteralRegistry.register(
    :class => MonthlyRecurrencePatternTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MonthlyRecurrencePatternTypeEnum")
  )

  LiteralRegistry.register(
    :class => WeekOfMonthEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "WeekOfMonthEnum")
  )

  LiteralRegistry.register(
    :class => DayOfWeekEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DayOfWeekEnum")
  )

  LiteralRegistry.register(
    :class => YearlyRecurrencePatternTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "YearlyRecurrencePatternTypeEnum")
  )

  LiteralRegistry.register(
    :class => MonthOfYearEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "MonthOfYearEnum")
  )

  LiteralRegistry.register(
    :class => ExtractParameterDataType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ExtractParameterDataType")
  )

  LiteralRegistry.register(
    :class => UnsubscribeBehaviorEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "UnsubscribeBehaviorEnum")
  )

  LiteralRegistry.register(
    :class => AccountTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "AccountTypeEnum")
  )

  LiteralRegistry.register(
    :class => LayoutType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "LayoutType")
  )

  LiteralRegistry.register(
    :class => EventType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "EventType")
  )

  LiteralRegistry.register(
    :class => CompressionType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "CompressionType")
  )

  LiteralRegistry.register(
    :class => CompressionEncoding,
    :schema_type => XSD::QName.new(NsPartnerAPI, "CompressionEncoding")
  )

  LiteralRegistry.register(
    :class => SubscriberStatus,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberStatus")
  )

  LiteralRegistry.register(
    :class => EmailType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "EmailType")
  )

  LiteralRegistry.register(
    :class => ListTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ListTypeEnum")
  )

  LiteralRegistry.register(
    :class => ListClassificationEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ListClassificationEnum")
  )

  LiteralRegistry.register(
    :class => TriggeredSendTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSendTypeEnum")
  )

  LiteralRegistry.register(
    :class => TriggeredSendStatusEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "TriggeredSendStatusEnum")
  )

  LiteralRegistry.register(
    :class => SendClassificationTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendClassificationTypeEnum")
  )

  LiteralRegistry.register(
    :class => DeliveryProfileSourceAddressTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DeliveryProfileSourceAddressTypeEnum")
  )

  LiteralRegistry.register(
    :class => DeliveryProfileDomainTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DeliveryProfileDomainTypeEnum")
  )

  LiteralRegistry.register(
    :class => SalutationSourceEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SalutationSourceEnum")
  )

  LiteralRegistry.register(
    :class => SendDefinitionStatusEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendDefinitionStatusEnum")
  )

  LiteralRegistry.register(
    :class => SendDefinitionListTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SendDefinitionListTypeEnum")
  )

  LiteralRegistry.register(
    :class => DataSourceTypeEnum,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataSourceTypeEnum")
  )

  LiteralRegistry.register(
    :class => DataExtensionFieldType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DataExtensionFieldType")
  )

  LiteralRegistry.register(
    :class => DateTimeUnitOfMeasure,
    :schema_type => XSD::QName.new(NsPartnerAPI, "DateTimeUnitOfMeasure")
  )

  LiteralRegistry.register(
    :class => FileType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "FileType")
  )

  LiteralRegistry.register(
    :class => ImportDefinitionSubscriberImportType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionSubscriberImportType")
  )

  LiteralRegistry.register(
    :class => ImportDefinitionUpdateType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionUpdateType")
  )

  LiteralRegistry.register(
    :class => ImportDefinitionColumnBasedActionType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionColumnBasedActionType")
  )

  LiteralRegistry.register(
    :class => ImportDefinitionFieldMappingType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "ImportDefinitionFieldMappingType")
  )

  LiteralRegistry.register(
    :class => SystemStatusType,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SystemStatusType")
  )

  LiteralRegistry.register(
    :class => SubscriberAddressStatus,
    :schema_type => XSD::QName.new(NsPartnerAPI, "SubscriberAddressStatus")
  )

  LiteralRegistry.register(
    :class => CreateRequest,
    :schema_name => XSD::QName.new(NsPartnerAPI, "CreateRequest"),
    :schema_element => [
      ["options", ["CreateOptions", XSD::QName.new(NsPartnerAPI, "Options")]],
      ["objects", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Objects")], [1, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => CreateResponse,
    :schema_name => XSD::QName.new(NsPartnerAPI, "CreateResponse"),
    :schema_element => [
      ["results", ["CreateResult[]", XSD::QName.new(NsPartnerAPI, "Results")], [1, nil]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["overallStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatus")]]
    ]
  )

  LiteralRegistry.register(
    :class => CreateOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "CreateOptions"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["CreateOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["container", ["ContainerID", XSD::QName.new(NsPartnerAPI, "Container")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => CreateOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => UpdateOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "UpdateOptions"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["UpdateOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]],
      ["container", ["ContainerID", XSD::QName.new(NsPartnerAPI, "Container")], [0, 1]],
      ["action", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => UpdateOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => UpdateRequest,
    :schema_name => XSD::QName.new(NsPartnerAPI, "UpdateRequest"),
    :schema_element => [
      ["options", ["UpdateOptions", XSD::QName.new(NsPartnerAPI, "Options")]],
      ["objects", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Objects")], [1, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => UpdateResponse,
    :schema_name => XSD::QName.new(NsPartnerAPI, "UpdateResponse"),
    :schema_element => [
      ["results", ["UpdateResult[]", XSD::QName.new(NsPartnerAPI, "Results")], [1, nil]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["overallStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatus")]]
    ]
  )

  LiteralRegistry.register(
    :class => DeleteOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "DeleteOptions"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["sendResponseTo", ["AsyncResponse[]", XSD::QName.new(NsPartnerAPI, "SendResponseTo")], [0, nil]],
      ["saveOptions", ["DeleteOptions::SaveOptions", XSD::QName.new(NsPartnerAPI, "SaveOptions")], [0, 1]],
      ["priority", ["SOAP::SOAPByte", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["sequenceCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SequenceCode")], [0, 1]],
      ["callsInConversation", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CallsInConversation")], [0, 1]],
      ["scheduledTime", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ScheduledTime")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["queuePriority", ["Priority", XSD::QName.new(NsPartnerAPI, "QueuePriority")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DeleteOptions::SaveOptions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SaveOptions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["saveOption", ["SaveOption[]", XSD::QName.new(NsPartnerAPI, "SaveOption")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DeleteRequest,
    :schema_name => XSD::QName.new(NsPartnerAPI, "DeleteRequest"),
    :schema_element => [
      ["options", ["DeleteOptions", XSD::QName.new(NsPartnerAPI, "Options")]],
      ["objects", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Objects")], [1, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DeleteResponse,
    :schema_name => XSD::QName.new(NsPartnerAPI, "DeleteResponse"),
    :schema_element => [
      ["results", ["DeleteResult[]", XSD::QName.new(NsPartnerAPI, "Results")], [1, nil]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["overallStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatus")]]
    ]
  )

  LiteralRegistry.register(
    :class => RetrieveRequestMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "RetrieveRequestMsg"),
    :schema_element => [
      ["retrieveRequest", ["RetrieveRequest", XSD::QName.new(NsPartnerAPI, "RetrieveRequest")]]
    ]
  )

  LiteralRegistry.register(
    :class => RetrieveResponseMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "RetrieveResponseMsg"),
    :schema_element => [
      ["overallStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatus")]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["results", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Results")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => QueryRequestMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "QueryRequestMsg"),
    :schema_element => [
      ["queryRequest", ["QueryRequest", XSD::QName.new(NsPartnerAPI, "QueryRequest")]]
    ]
  )

  LiteralRegistry.register(
    :class => QueryResponseMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "QueryResponseMsg"),
    :schema_element => [
      ["overallStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatus")]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["results", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Results")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => DefinitionRequestMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "DefinitionRequestMsg"),
    :schema_element => [
      ["describeRequests", ["ArrayOfObjectDefinitionRequest", XSD::QName.new(NsPartnerAPI, "DescribeRequests")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DefinitionResponseMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "DefinitionResponseMsg"),
    :schema_element => [
      ["objectDefinition", ["ObjectDefinition[]", XSD::QName.new(NsPartnerAPI, "ObjectDefinition")], [0, nil]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ExecuteRequestMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ExecuteRequestMsg"),
    :schema_element => [
      ["requests", ["ExecuteRequest[]", XSD::QName.new(NsPartnerAPI, "Requests")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ExecuteResponseMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ExecuteResponseMsg"),
    :schema_element => [
      ["overallStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatus")]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["results", ["ExecuteResponse[]", XSD::QName.new(NsPartnerAPI, "Results")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => PerformRequestMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "PerformRequestMsg"),
    :schema_element => [
      ["options", ["PerformOptions", XSD::QName.new(NsPartnerAPI, "Options")], [0, 1]],
      ["action", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]],
      ["definitions", ["PerformRequestMsg::Definitions", XSD::QName.new(NsPartnerAPI, "Definitions")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PerformRequestMsg::Definitions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Definitions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["definition", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Definition")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => PerformResponseMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "PerformResponseMsg"),
    :schema_element => [
      ["results", ["PerformResponseMsg::Results", XSD::QName.new(NsPartnerAPI, "Results")], [0, 1]],
      ["overallStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatus")]],
      ["overallStatusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusMessage")]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PerformResponseMsg::Results,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Results"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["result", ["PerformResult[]", XSD::QName.new(NsPartnerAPI, "Result")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ContentValidation,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ContentValidation"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["validationAction", ["ValidationAction", XSD::QName.new(NsPartnerAPI, "ValidationAction")], [0, 1]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["subscribers", ["ContentValidation::Subscribers", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ContentValidation::Subscribers,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Subscribers"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["subscriber", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ConfigureRequestMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ConfigureRequestMsg"),
    :schema_element => [
      ["options", ["ConfigureOptions", XSD::QName.new(NsPartnerAPI, "Options")], [0, 1]],
      ["action", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]],
      ["configurations", ["ConfigureRequestMsg::Configurations", XSD::QName.new(NsPartnerAPI, "Configurations")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ConfigureRequestMsg::Configurations,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Configurations"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["configuration", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Configuration")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ConfigureResponseMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ConfigureResponseMsg"),
    :schema_element => [
      ["results", ["ConfigureResponseMsg::Results", XSD::QName.new(NsPartnerAPI, "Results")], [0, 1]],
      ["overallStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatus")]],
      ["overallStatusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusMessage")]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ConfigureResponseMsg::Results,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Results"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["result", ["ConfigureResult[]", XSD::QName.new(NsPartnerAPI, "Result")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ScheduleRequestMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ScheduleRequestMsg"),
    :schema_element => [
      ["options", ["ScheduleOptions", XSD::QName.new(NsPartnerAPI, "Options")], [0, 1]],
      ["action", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]],
      ["schedule", ["ScheduleDefinition", XSD::QName.new(NsPartnerAPI, "Schedule")], [0, 1]],
      ["interactions", ["ScheduleRequestMsg::Interactions", XSD::QName.new(NsPartnerAPI, "Interactions")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ScheduleRequestMsg::Interactions,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Interactions"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["interaction", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Interaction")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ScheduleResponseMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ScheduleResponseMsg"),
    :schema_element => [
      ["results", ["ScheduleResponseMsg::Results", XSD::QName.new(NsPartnerAPI, "Results")], [0, 1]],
      ["overallStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatus")]],
      ["overallStatusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusMessage")]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ScheduleResponseMsg::Results,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Results"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["result", ["ScheduleResult[]", XSD::QName.new(NsPartnerAPI, "Result")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => MinutelyRecurrence,
    :schema_name => XSD::QName.new(NsPartnerAPI, "MinutelyRecurrence"),
    :schema_element => [
      ["minutelyRecurrencePatternType", ["MinutelyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "MinutelyRecurrencePatternType")], [0, 1]],
      ["minuteInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MinuteInterval")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => HourlyRecurrence,
    :schema_name => XSD::QName.new(NsPartnerAPI, "HourlyRecurrence"),
    :schema_element => [
      ["hourlyRecurrencePatternType", ["HourlyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "HourlyRecurrencePatternType")], [0, 1]],
      ["hourInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "HourInterval")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DailyRecurrence,
    :schema_name => XSD::QName.new(NsPartnerAPI, "DailyRecurrence"),
    :schema_element => [
      ["dailyRecurrencePatternType", ["DailyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "DailyRecurrencePatternType")], [0, 1]],
      ["dayInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "DayInterval")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => WeeklyRecurrence,
    :schema_name => XSD::QName.new(NsPartnerAPI, "WeeklyRecurrence"),
    :schema_element => [
      ["weeklyRecurrencePatternType", ["WeeklyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "WeeklyRecurrencePatternType")], [0, 1]],
      ["weekInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "WeekInterval")], [0, 1]],
      ["sunday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Sunday")], [0, 1]],
      ["monday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Monday")], [0, 1]],
      ["tuesday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Tuesday")], [0, 1]],
      ["wednesday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Wednesday")], [0, 1]],
      ["thursday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Thursday")], [0, 1]],
      ["friday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Friday")], [0, 1]],
      ["saturday", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "Saturday")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => MonthlyRecurrence,
    :schema_name => XSD::QName.new(NsPartnerAPI, "MonthlyRecurrence"),
    :schema_element => [
      ["monthlyRecurrencePatternType", ["MonthlyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "MonthlyRecurrencePatternType")], [0, 1]],
      ["monthlyInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MonthlyInterval")], [0, 1]],
      ["scheduledDay", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ScheduledDay")], [0, 1]],
      ["scheduledWeek", ["WeekOfMonthEnum", XSD::QName.new(NsPartnerAPI, "ScheduledWeek")], [0, 1]],
      ["scheduledDayOfWeek", ["DayOfWeekEnum", XSD::QName.new(NsPartnerAPI, "ScheduledDayOfWeek")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => YearlyRecurrence,
    :schema_name => XSD::QName.new(NsPartnerAPI, "YearlyRecurrence"),
    :schema_element => [
      ["yearlyRecurrencePatternType", ["YearlyRecurrencePatternTypeEnum", XSD::QName.new(NsPartnerAPI, "YearlyRecurrencePatternType")], [0, 1]],
      ["scheduledDay", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ScheduledDay")], [0, 1]],
      ["scheduledWeek", ["WeekOfMonthEnum", XSD::QName.new(NsPartnerAPI, "ScheduledWeek")], [0, 1]],
      ["scheduledMonth", ["MonthOfYearEnum", XSD::QName.new(NsPartnerAPI, "ScheduledMonth")], [0, 1]],
      ["scheduledDayOfWeek", ["DayOfWeekEnum", XSD::QName.new(NsPartnerAPI, "ScheduledDayOfWeek")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractRequestMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ExtractRequestMsg"),
    :schema_element => [
      ["requests", ["ExtractRequest[]", XSD::QName.new(NsPartnerAPI, "Requests")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => ExtractResponseMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "ExtractResponseMsg"),
    :schema_element => [
      ["overallStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatus")]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["results", ["ExtractResult[]", XSD::QName.new(NsPartnerAPI, "Results")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => VersionInfoRequestMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "VersionInfoRequestMsg"),
    :schema_element => [
      ["includeVersionHistory", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IncludeVersionHistory")]]
    ]
  )

  LiteralRegistry.register(
    :class => VersionInfoResponseMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "VersionInfoResponseMsg"),
    :schema_element => [
      ["versionInfo", ["VersionInfoResponse", XSD::QName.new(NsPartnerAPI, "VersionInfo")]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Subscriber,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Subscriber"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["emailAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailAddress")], [0, 1]],
      ["attributes", ["Attribute[]", XSD::QName.new(NsPartnerAPI, "Attributes")], [0, nil]],
      ["subscriberKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SubscriberKey")], [0, 1]],
      ["unsubscribedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "UnsubscribedDate")], [0, 1]],
      ["status", ["SubscriberStatus", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["partnerType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerType")], [0, 1]],
      ["emailTypePreference", ["EmailType", XSD::QName.new(NsPartnerAPI, "EmailTypePreference")], [0, 1]],
      ["lists", ["SubscriberList[]", XSD::QName.new(NsPartnerAPI, "Lists")], [0, nil]],
      ["globalUnsubscribeCategory", ["GlobalUnsubscribeCategory", XSD::QName.new(NsPartnerAPI, "GlobalUnsubscribeCategory")], [0, 1]],
      ["subscriberTypeDefinition", ["SubscriberTypeDefinition", XSD::QName.new(NsPartnerAPI, "SubscriberTypeDefinition")], [0, 1]],
      ["addresses", ["Subscriber::Addresses", XSD::QName.new(NsPartnerAPI, "Addresses")], [0, 1]],
      ["primarySMSAddress", ["SMSAddress", XSD::QName.new(NsPartnerAPI, "PrimarySMSAddress")], [0, 1]],
      ["primarySMSPublicationStatus", ["SubscriberAddressStatus", XSD::QName.new(NsPartnerAPI, "PrimarySMSPublicationStatus")], [0, 1]],
      ["primaryEmailAddress", ["EmailAddress", XSD::QName.new(NsPartnerAPI, "PrimaryEmailAddress")], [0, 1]],
      ["locale", ["Locale", XSD::QName.new(NsPartnerAPI, "Locale")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Subscriber::Addresses,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Addresses"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["address", ["SubscriberAddress[]", XSD::QName.new(NsPartnerAPI, "Address")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => SubscriberList,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SubscriberList"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["status", ["SubscriberStatus", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["action", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Action")], [0, 1]],
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => List,
    :schema_name => XSD::QName.new(NsPartnerAPI, "List"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["listName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ListName")], [0, 1]],
      ["category", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Category")], [0, 1]],
      ["type", ["ListTypeEnum", XSD::QName.new(NsPartnerAPI, "Type")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["subscribers", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, nil]],
      ["listClassification", ["ListClassificationEnum", XSD::QName.new(NsPartnerAPI, "ListClassification")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Group,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Group"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["category", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Category")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["subscribers", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscribers")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => Campaign,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Campaign"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Send,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Send"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["list", ["List[]", XSD::QName.new(NsPartnerAPI, "List")], [0, nil]],
      ["sendDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "SendDate")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["duplicates", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Duplicates")], [0, 1]],
      ["invalidAddresses", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "InvalidAddresses")], [0, 1]],
      ["existingUndeliverables", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ExistingUndeliverables")], [0, 1]],
      ["existingUnsubscribes", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ExistingUnsubscribes")], [0, 1]],
      ["hardBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "HardBounces")], [0, 1]],
      ["softBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SoftBounces")], [0, 1]],
      ["otherBounces", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OtherBounces")], [0, 1]],
      ["forwardedEmails", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ForwardedEmails")], [0, 1]],
      ["uniqueClicks", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueClicks")], [0, 1]],
      ["uniqueOpens", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "UniqueOpens")], [0, 1]],
      ["numberSent", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberSent")], [0, 1]],
      ["numberDelivered", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberDelivered")], [0, 1]],
      ["unsubscribes", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Unsubscribes")], [0, 1]],
      ["missingAddresses", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "MissingAddresses")], [0, 1]],
      ["subject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Subject")], [0, 1]],
      ["previewURL", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PreviewURL")], [0, 1]],
      ["links", ["Link[]", XSD::QName.new(NsPartnerAPI, "Links")], [0, nil]],
      ["events", ["TrackingEvent[]", XSD::QName.new(NsPartnerAPI, "Events")], [0, nil]],
      ["sentDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "SentDate")], [0, 1]],
      ["emailName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailName")], [0, 1]],
      ["status", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Status")], [0, 1]],
      ["isMultipart", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsMultipart")], [0, 1]],
      ["sendLimit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendLimit")], [0, 1]],
      ["sendWindowOpen", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowOpen")], [0, 1]],
      ["sendWindowClose", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowClose")], [0, 1]],
      ["isAlwaysOn", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAlwaysOn")], [0, 1]],
      ["sources", ["Send::Sources", XSD::QName.new(NsPartnerAPI, "Sources")], [0, 1]],
      ["numberTargeted", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberTargeted")], [0, 1]],
      ["numberErrored", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberErrored")], [0, 1]],
      ["numberExcluded", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NumberExcluded")], [0, 1]],
      ["additional", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Additional")], [0, 1]],
      ["bccEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BccEmail")], [0, 1]],
      ["emailSendDefinition", ["EmailSendDefinition", XSD::QName.new(NsPartnerAPI, "EmailSendDefinition")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Send::Sources,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Sources"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["source", ["APIObject[]", XSD::QName.new(NsPartnerAPI, "Source")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => TriggeredSendDefinition,
    :schema_name => XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]],
      ["triggeredSendType", ["TriggeredSendTypeEnum", XSD::QName.new(NsPartnerAPI, "TriggeredSendType")], [0, 1]],
      ["triggeredSendStatus", ["TriggeredSendStatusEnum", XSD::QName.new(NsPartnerAPI, "TriggeredSendStatus")], [0, 1]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["autoAddSubscribers", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "AutoAddSubscribers")], [0, 1]],
      ["autoUpdateSubscribers", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "AutoUpdateSubscribers")], [0, 1]],
      ["batchInterval", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "BatchInterval")], [0, 1]],
      ["bccEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BccEmail")], [0, 1]],
      ["emailSubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailSubject")], [0, 1]],
      ["dynamicEmailSubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DynamicEmailSubject")], [0, 1]],
      ["isMultipart", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsMultipart")], [0, 1]],
      ["isWrapped", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsWrapped")], [0, 1]],
      ["allowedSlots", ["SOAP::SOAPShort", XSD::QName.new(NsPartnerAPI, "AllowedSlots")], [0, 1]],
      ["newSlotTrigger", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NewSlotTrigger")], [0, 1]],
      ["sendLimit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendLimit")], [0, 1]],
      ["sendWindowOpen", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowOpen")], [0, 1]],
      ["sendWindowClose", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowClose")], [0, 1]],
      ["sendWindowDelete", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SendWindowDelete")], [0, 1]],
      ["refreshContent", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "RefreshContent")], [0, 1]],
      ["exclusionFilter", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExclusionFilter")], [0, 1]],
      ["priority", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Priority")], [0, 1]],
      ["sendSourceCustomerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SendSourceCustomerKey")], [0, 1]],
      ["exclusionListCollection", ["TriggeredSendExclusionList[]", XSD::QName.new(NsPartnerAPI, "ExclusionListCollection")], [0, nil]],
      ["cCEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CCEmail")], [0, 1]],
      ["sendSourceDataExtension", ["DataExtension", XSD::QName.new(NsPartnerAPI, "SendSourceDataExtension")], [0, 1]],
      ["isAlwaysOn", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsAlwaysOn")], [0, 1]],
      ["disableOnEmailBuildError", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DisableOnEmailBuildError")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => TriggeredSendExclusionList,
    :schema_name => XSD::QName.new(NsPartnerAPI, "TriggeredSendExclusionList"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["sendDefinitionListType", ["SendDefinitionListTypeEnum", XSD::QName.new(NsPartnerAPI, "SendDefinitionListType")], [0, 1]],
      ["customObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomObjectID")], [0, 1]],
      ["dataSourceTypeID", ["DataSourceTypeEnum", XSD::QName.new(NsPartnerAPI, "DataSourceTypeID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => TriggeredSend,
    :schema_name => XSD::QName.new(NsPartnerAPI, "TriggeredSend"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["triggeredSendDefinition", ["TriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "TriggeredSendDefinition")]],
      ["subscribers", ["Subscriber[]", XSD::QName.new(NsPartnerAPI, "Subscribers")], [1, nil]],
      ["attributes", ["Attribute[]", XSD::QName.new(NsPartnerAPI, "Attributes")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => TriggeredSendCreateResult,
    :schema_name => XSD::QName.new(NsPartnerAPI, "TriggeredSendCreateResult"),
    :schema_element => [
      ["statusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusCode")]],
      ["statusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "StatusMessage")]],
      ["ordinalID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["errorCode", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ErrorCode")], [0, 1]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")], [0, 1]],
      ["conversationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ConversationID")], [0, 1]],
      ["overallStatusCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusCode")], [0, 1]],
      ["requestType", ["RequestType", XSD::QName.new(NsPartnerAPI, "RequestType")], [0, 1]],
      ["resultType", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultType")], [0, 1]],
      ["resultDetailXML", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ResultDetailXML")], [0, 1]],
      ["newID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "NewID")]],
      ["newObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "NewObjectID")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["object", ["APIObject", XSD::QName.new(NsPartnerAPI, "Object")], [0, 1]],
      ["createResults", ["CreateResult[]", XSD::QName.new(NsPartnerAPI, "CreateResults")], [0, nil]],
      ["parentPropertyName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ParentPropertyName")], [0, 1]],
      ["subscriberFailures", ["SubscriberResult[]", XSD::QName.new(NsPartnerAPI, "SubscriberFailures")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => SubscriberResult,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SubscriberResult"),
    :schema_element => [
      ["subscriber", ["Subscriber", XSD::QName.new(NsPartnerAPI, "Subscriber")]],
      ["errorCode", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorCode")]],
      ["errorDescription", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ErrorDescription")], [0, 1]],
      ["ordinal", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "Ordinal")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SenderProfile,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SenderProfile"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["useDefaultRMMRules", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "UseDefaultRMMRules")], [0, 1]],
      ["autoForwardToEmailAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoForwardToEmailAddress")], [0, 1]],
      ["autoForwardToName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoForwardToName")], [0, 1]],
      ["directForward", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DirectForward")], [0, 1]],
      ["autoForwardTriggeredSend", ["TriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "AutoForwardTriggeredSend")], [0, 1]],
      ["autoReply", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "AutoReply")], [0, 1]],
      ["autoReplyTriggeredSend", ["TriggeredSendDefinition", XSD::QName.new(NsPartnerAPI, "AutoReplyTriggeredSend")], [0, 1]],
      ["senderHeaderEmailAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SenderHeaderEmailAddress")], [0, 1]],
      ["senderHeaderName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SenderHeaderName")], [0, 1]],
      ["dataRetentionPeriodLength", ["SOAP::SOAPShort", XSD::QName.new(NsPartnerAPI, "DataRetentionPeriodLength")], [0, 1]],
      ["dataRetentionPeriodUnitOfMeasure", ["RecurrenceTypeEnum", XSD::QName.new(NsPartnerAPI, "DataRetentionPeriodUnitOfMeasure")], [0, 1]],
      ["replyManagementRuleSet", ["APIObject", XSD::QName.new(NsPartnerAPI, "ReplyManagementRuleSet")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DeliveryProfile,
    :schema_name => XSD::QName.new(NsPartnerAPI, "DeliveryProfile"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["subscriberLevelPrivateDomain", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SubscriberLevelPrivateDomain")], [0, 1]],
      ["sMIMESignatureCertificate", ["Certificate", XSD::QName.new(NsPartnerAPI, "SMIMESignatureCertificate")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PrivateDomain,
    :schema_name => XSD::QName.new(NsPartnerAPI, "PrivateDomain"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => PrivateIP,
    :schema_name => XSD::QName.new(NsPartnerAPI, "PrivateIP"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["isActive", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsActive")], [0, 1]],
      ["ordinalID", ["SOAP::SOAPShort", XSD::QName.new(NsPartnerAPI, "OrdinalID")], [0, 1]],
      ["iPAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "IPAddress")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SendDefinition,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SendDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => AudienceItem,
    :schema_name => XSD::QName.new(NsPartnerAPI, "AudienceItem"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["sendDefinitionListType", ["SendDefinitionListTypeEnum", XSD::QName.new(NsPartnerAPI, "SendDefinitionListType")], [0, 1]],
      ["customObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomObjectID")], [0, 1]],
      ["dataSourceTypeID", ["DataSourceTypeEnum", XSD::QName.new(NsPartnerAPI, "DataSourceTypeID")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => EmailSendDefinition,
    :schema_name => XSD::QName.new(NsPartnerAPI, "EmailSendDefinition"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Description")], [0, 1]],
      ["keyword", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Keyword")], [0, 1]],
      ["interactionObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "InteractionObjectID")], [0, 1]],
      ["categoryID", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "CategoryID")], [0, 1]],
      ["sendClassification", ["SendClassification", XSD::QName.new(NsPartnerAPI, "SendClassification")], [0, 1]],
      ["senderProfile", ["SenderProfile", XSD::QName.new(NsPartnerAPI, "SenderProfile")], [0, 1]],
      ["fromName", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromName")], [0, 1]],
      ["fromAddress", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "FromAddress")], [0, 1]],
      ["deliveryProfile", ["DeliveryProfile", XSD::QName.new(NsPartnerAPI, "DeliveryProfile")], [0, 1]],
      ["sourceAddressType", ["DeliveryProfileSourceAddressTypeEnum", XSD::QName.new(NsPartnerAPI, "SourceAddressType")], [0, 1]],
      ["privateIP", ["PrivateIP", XSD::QName.new(NsPartnerAPI, "PrivateIP")], [0, 1]],
      ["domainType", ["DeliveryProfileDomainTypeEnum", XSD::QName.new(NsPartnerAPI, "DomainType")], [0, 1]],
      ["privateDomain", ["PrivateDomain", XSD::QName.new(NsPartnerAPI, "PrivateDomain")], [0, 1]],
      ["headerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "HeaderSalutationSource")], [0, 1]],
      ["headerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "HeaderContentArea")], [0, 1]],
      ["footerSalutationSource", ["SalutationSourceEnum", XSD::QName.new(NsPartnerAPI, "FooterSalutationSource")], [0, 1]],
      ["footerContentArea", ["ContentArea", XSD::QName.new(NsPartnerAPI, "FooterContentArea")], [0, 1]],
      ["suppressTracking", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SuppressTracking")], [0, 1]],
      ["isSendLogging", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsSendLogging")], [0, 1]],
      ["sendDefinitionList", ["SendDefinitionList[]", XSD::QName.new(NsPartnerAPI, "SendDefinitionList")], [0, nil]],
      ["email", ["Email", XSD::QName.new(NsPartnerAPI, "Email")], [0, 1]],
      ["bccEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "BccEmail")], [0, 1]],
      ["autoBccEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "AutoBccEmail")], [0, 1]],
      ["testEmailAddr", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "TestEmailAddr")], [0, 1]],
      ["emailSubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "EmailSubject")], [0, 1]],
      ["dynamicEmailSubject", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "DynamicEmailSubject")], [0, 1]],
      ["isMultipart", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsMultipart")], [0, 1]],
      ["isWrapped", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsWrapped")], [0, 1]],
      ["sendLimit", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "SendLimit")], [0, 1]],
      ["sendWindowOpen", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowOpen")], [0, 1]],
      ["sendWindowClose", ["SOAP::SOAPTime", XSD::QName.new(NsPartnerAPI, "SendWindowClose")], [0, 1]],
      ["sendWindowDelete", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "SendWindowDelete")], [0, 1]],
      ["deduplicateByEmail", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "DeduplicateByEmail")], [0, 1]],
      ["exclusionFilter", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ExclusionFilter")], [0, 1]],
      ["trackingUsers", ["EmailSendDefinition::TrackingUsers", XSD::QName.new(NsPartnerAPI, "TrackingUsers")], [0, 1]],
      ["additional", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Additional")], [0, 1]],
      ["cCEmail", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CCEmail")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => EmailSendDefinition::TrackingUsers,
    :schema_name => XSD::QName.new(NsPartnerAPI, "TrackingUsers"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["trackingUser", ["TrackingUser[]", XSD::QName.new(NsPartnerAPI, "TrackingUser")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => SendDefinitionList,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SendDefinitionList"),
    :schema_element => [
      ["client", ["ClientID", XSD::QName.new(NsPartnerAPI, "Client")], [0, 1]],
      ["partnerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "PartnerKey")], [0, 1]],
      ["partnerProperties", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "PartnerProperties")], [0, nil]],
      ["createdDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "CreatedDate")], [0, 1]],
      ["modifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsPartnerAPI, "ModifiedDate")], [0, 1]],
      ["iD", ["SOAP::SOAPInt", XSD::QName.new(NsPartnerAPI, "ID")], [0, 1]],
      ["objectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "ObjectID")], [0, 1]],
      ["customerKey", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomerKey")], [0, 1]],
      ["owner", ["Owner", XSD::QName.new(NsPartnerAPI, "Owner")], [0, 1]],
      ["correlationID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CorrelationID")], [0, 1]],
      ["list", ["List", XSD::QName.new(NsPartnerAPI, "List")], [0, 1]],
      ["sendDefinitionListType", ["SendDefinitionListTypeEnum", XSD::QName.new(NsPartnerAPI, "SendDefinitionListType")], [0, 1]],
      ["customObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "CustomObjectID")], [0, 1]],
      ["dataSourceTypeID", ["DataSourceTypeEnum", XSD::QName.new(NsPartnerAPI, "DataSourceTypeID")], [0, 1]],
      ["filterDefinition", ["FilterDefinition", XSD::QName.new(NsPartnerAPI, "FilterDefinition")], [0, 1]],
      ["isTestObject", ["SOAP::SOAPBoolean", XSD::QName.new(NsPartnerAPI, "IsTestObject")], [0, 1]],
      ["salesForceObjectID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "SalesForceObjectID")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "Name")], [0, 1]],
      ["parameters", ["SendDefinitionList::Parameters", XSD::QName.new(NsPartnerAPI, "Parameters")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SendDefinitionList::Parameters,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Parameters"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["parameter", ["APIProperty[]", XSD::QName.new(NsPartnerAPI, "Parameter")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => SystemStatusRequestMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SystemStatusRequestMsg"),
    :schema_element => [
      ["options", ["SystemStatusOptions", XSD::QName.new(NsPartnerAPI, "Options")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => SystemStatusResponseMsg,
    :schema_name => XSD::QName.new(NsPartnerAPI, "SystemStatusResponseMsg"),
    :schema_element => [
      ["results", ["SystemStatusResponseMsg::Results", XSD::QName.new(NsPartnerAPI, "Results")], [0, 1]],
      ["overallStatus", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatus")]],
      ["overallStatusMessage", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "OverallStatusMessage")]],
      ["requestID", ["SOAP::SOAPString", XSD::QName.new(NsPartnerAPI, "RequestID")]]
    ]
  )

  LiteralRegistry.register(
    :class => SystemStatusResponseMsg::Results,
    :schema_name => XSD::QName.new(NsPartnerAPI, "Results"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["result", ["SystemStatusResult[]", XSD::QName.new(NsPartnerAPI, "Result")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => APIFault,
    :schema_name => XSD::QName.new(NsFaultPartnerExacttargetCom, "apifault"),
    :schema_element => [
      ["code", ["SOAP::SOAPInt", XSD::QName.new(NsFaultPartnerExacttargetCom, "Code")]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsFaultPartnerExacttargetCom, "Message")]],
      ["logID", ["SOAP::SOAPLong", XSD::QName.new(NsFaultPartnerExacttargetCom, "LogID")], [0, 1]],
      ["params", ["APIFault::Params", XSD::QName.new(NsFaultPartnerExacttargetCom, "Params")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => APIFault::Params,
    :schema_name => XSD::QName.new(NsFaultPartnerExacttargetCom, "Params"),
    :is_anonymous => true,
    :schema_qualified => true,
    :schema_element => [
      ["param", ["SOAP::SOAPString[]", XSD::QName.new(NsFaultPartnerExacttargetCom, "Param")], [0, nil]]
    ]
  )
end
